0.00/0.04 % Problem : theBenchmark.p : TPTP v0.0.0. Released v0.0.0. 0.00/0.09 % Command : java -Xss128m -Xmx2g -Xms1g -jar /export/starexec/sandbox/solver/bin/leo3.jar /export/starexec/sandbox/benchmark/theBenchmark.p -t 180 -p --atp eprover=/export/starexec/sandbox/solver/bin/externals/eprover --instantiate 39 0.18/0.43 % Computer : n027.cluster.edu 0.18/0.43 % Model : x86_64 x86_64 0.18/0.43 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz 0.18/0.43 % Memory : 8046.5625MB 0.18/0.43 % OS : Linux 6.8.0-71-generic 0.18/0.43 % CPULimit : 1440 0.18/0.43 % WCLimit : 180 0.18/0.43 % DateTime : Mon Jul 27 12:16:07 UTC 2026 0.18/0.43 % CPUTime : 0.18/0.43 Running java -Xss128m -Xmx2g -Xms1g -jar /export/starexec/sandbox/solver/bin/leo3.jar /export/starexec/sandbox/benchmark/theBenchmark.p -t 180 -p --atp eprover=/export/starexec/sandbox/solver/bin/externals/eprover --instantiate 39 1.24/1.17 % [INFO] Parsing problem /export/starexec/sandbox/benchmark/theBenchmark.p ... 2.52/1.68 % [INFO] Parsing done (506ms). 2.99/1.70 % [INFO] Running in sequential loop mode. 3.90/2.21 % [INFO] eprover registered as external prover. 3.90/2.22 % [INFO] Scanning for conjecture ... 4.30/2.41 % [INFO] Found a conjecture (or negated_conjecture) and 1 axioms. Running axiom selection ... 4.30/2.46 % [INFO] Axiom selection finished. Selected 1 axioms (removed 0 axioms). 6.04/3.34 % [INFO] Problem is higher-order (TPTP THF). 6.04/3.38 % [INFO] Type checking passed. 6.04/3.38 % [CONFIG] Using configuration: timeout(180) with strategy. Searching for refutation ... 13.26/7.61 % [INFO] [Domain constraints] Detected constraint on d_term 13.26/7.61 % [INFO] [Domain constraints] dom(d_term) ⊆ {d_one} 13.26/7.62 % [INFO] [Domain constraints] Detected constraint on d_subst 13.26/7.62 % [INFO] [Domain constraints] dom(d_subst) ⊆ {d_id} 47.00/15.90 % [INFO] Killing All external provers ... 47.41/15.90 % Time passed: 15283ms (effective reasoning time: 14185ms) 47.41/15.90 % Solved by strategy 47.41/15.90 % Axioms used in derivation (1): alg444_1 47.41/15.90 % No. of inferences in proof: 24 47.41/15.91 % SZS status Theorem for /export/starexec/sandbox/benchmark/theBenchmark.p : 15283 ms resp. 14185 ms w/o parsing 49.29/16.30 % SZS output start Refutation for /export/starexec/sandbox/benchmark/theBenchmark.p 49.29/16.30 thf(term_type, type, term: $tType). 49.29/16.30 thf(subst_type, type, subst: $tType). 49.29/16.30 thf(d_term_type, type, d_term: $tType). 49.29/16.30 thf(d_subst_type, type, d_subst: $tType). 49.29/16.30 thf(one_decl, type, one: term). 49.29/16.30 thf(ap_decl, type, ap: (term > (term > term))). 49.29/16.30 thf(lam_decl, type, lam: (term > term)). 49.29/16.30 thf(sub_decl, type, sub: (term > (subst > term))). 49.29/16.30 thf(id_decl, type, id: subst). 49.29/16.30 thf(sh_decl, type, sh: subst). 49.29/16.30 thf(push_decl, type, push: (term > (subst > subst))). 49.29/16.30 thf(comp_decl, type, comp: (subst > (subst > subst))). 49.29/16.30 thf(var_decl, type, var: (term > $o)). 49.29/16.30 thf(pushprop_lem1v2_decl, type, pushprop_lem1v2: $o). 49.29/16.30 thf(pushprop_lem1_gthm_decl, type, pushprop_lem1_gthm: $o). 49.29/16.30 thf(axmap_decl, type, axmap: $o). 49.29/16.30 thf(pushprop_lem0_gthm_decl, type, pushprop_lem0_gthm: $o). 49.29/16.30 thf(shinj_decl, type, shinj: $o). 49.29/16.30 thf(hoasinduction_lem1v2_decl, type, hoasinduction_lem1v2: $o). 49.29/16.30 thf(hoasinduction_lem1v2_gthm_decl, type, hoasinduction_lem1v2_gthm: $o). 49.29/16.30 thf(hoasap_decl, type, hoasap: (subst > (term > (subst > (term > term))))). 49.29/16.30 thf(induction2lem_decl, type, induction2lem: $o). 49.29/16.30 thf(hoasinduction_lem3v2_f_decl, type, hoasinduction_lem3v2_f: $o). 49.29/16.30 thf(axvarshift_decl, type, axvarshift: $o). 49.29/16.30 thf(hoasapinj2_decl, type, hoasapinj2: $o). 49.29/16.30 thf(hoasapnotvar_gthm_decl, type, hoasapnotvar_gthm: $o). 49.29/16.30 thf(hoasapinj1_decl, type, hoasapinj1: $o). 49.29/16.30 thf(ulamvar1_decl, type, ulamvar1: $o). 49.29/16.30 thf(induction2lem_lthm_decl, type, induction2lem_lthm: $o). 49.29/16.30 thf(hoasinduction_lem3v2_gthm_decl, type, hoasinduction_lem3v2_gthm: $o). 49.29/16.30 thf(apnotvar_decl, type, apnotvar: $o). 49.29/16.30 thf(pushprop_lthm_orig_decl, type, pushprop_lthm_orig: $o). 49.29/16.30 thf(hoasinduction_lem3v2_f_lthm_decl, type, hoasinduction_lem3v2_f_lthm: $o). 49.29/16.30 thf(hoasinduction_lthm_decl, type, hoasinduction_lthm: $o). 49.29/16.30 thf(hoasinduction_no_psi_cond_lthm_decl, type, hoasinduction_no_psi_cond_lthm: $o). 49.29/16.30 thf(hoaslaminj_decl, type, hoaslaminj: $o). 49.29/16.30 thf(hoasinduction_lem3aaa_decl, type, hoasinduction_lem3aaa: $o). 49.29/16.30 thf(induction2lem_gthm_decl, type, induction2lem_gthm: $o). 49.29/16.30 thf(hoasinduction_lem3aa_lthm_decl, type, hoasinduction_lem3aa_lthm: $o). 49.29/16.30 thf(hoasinduction_lem3_decl, type, hoasinduction_lem3: $o). 49.29/16.30 thf(hoasinduction_lem2_decl, type, hoasinduction_lem2: $o). 49.29/16.30 thf(termmset_lthm_decl, type, termmset_lthm: $o). 49.29/16.30 thf(hoasinduction_lem1_decl, type, hoasinduction_lem1: $o). 49.29/16.30 thf(hoaslamnotap_lthm_decl, type, hoaslamnotap_lthm: $o). 49.29/16.30 thf(pushprop_lem1v2_lthm_decl, type, pushprop_lem1v2_lthm: $o). 49.29/16.30 thf(hoasapnotvar_decl, type, hoasapnotvar: $o). 49.29/16.30 thf(hoasinduction_lem0_decl, type, hoasinduction_lem0: $o). 49.29/16.30 thf(hoasinduction_decl, type, hoasinduction: $o). 49.29/16.30 thf(hoasinduction_gthm_decl, type, hoasinduction_gthm: $o). 49.29/16.30 thf(axapp_decl, type, axapp: $o). 49.29/16.30 thf(hoaslamnotvar_lthm_decl, type, hoaslamnotvar_lthm: $o). 49.29/16.30 thf(pushprop_lem3v2_lthm_decl, type, pushprop_lem3v2_lthm: $o). 49.29/16.30 thf(hoasinduction_lem3b_lthm_decl, type, hoasinduction_lem3b_lthm: $o). 49.29/16.30 thf(ulamvarind_decl, type, ulamvarind: $o). 49.29/16.30 thf(induction_decl, type, induction: $o). 49.29/16.30 thf(hoasinduction_lem3a_lthm_decl, type, hoasinduction_lem3a_lthm: $o). 49.29/16.30 thf(termmset_gthm_decl, type, termmset_gthm: $o). 49.29/16.30 thf(hoasinduction_lem3aa_decl, type, hoasinduction_lem3aa: $o). 49.29/16.30 thf(pushprop_lem1v2_gthm_decl, type, pushprop_lem1v2_gthm: $o). 49.29/16.30 thf(hoaslamnotap_gthm_decl, type, hoaslamnotap_gthm: $o). 49.29/16.30 thf(hoaslamnotvar_gthm_decl, type, hoaslamnotvar_gthm: $o). 49.29/16.30 thf(hoasinduction_lem3b_gthm_decl, type, hoasinduction_lem3b_gthm: $o). 49.29/16.30 thf(pushprop_lem2v2_decl, type, pushprop_lem2v2: $o). 49.29/16.30 thf(hoasinduction_lem3a_gthm_decl, type, hoasinduction_lem3a_gthm: $o). 49.29/16.30 thf(axclos_decl, type, axclos: $o). 49.29/16.30 thf(axassoc_decl, type, axassoc: $o). 49.29/16.30 thf(hoasinduction_lem2v2_decl, type, hoasinduction_lem2v2: $o). 49.29/16.30 thf(pushprop_lthm_decl, type, pushprop_lthm: $o). 49.29/16.30 thf(apinj2_decl, type, apinj2: $o). 49.29/16.30 thf(apinj1_decl, type, apinj1: $o). 49.29/16.30 thf(hoasapinj2_lthm_decl, type, hoasapinj2_lthm: $o). 49.29/16.30 thf(hoasinduction_lem3v2a_decl, type, hoasinduction_lem3v2a: $o). 49.29/16.30 thf(hoasapinj1_lthm_decl, type, hoasapinj1_lthm: $o). 49.29/16.30 thf(hoaslaminj_lthm_decl, type, hoaslaminj_lthm: $o). 49.29/16.30 thf(axvarcons_decl, type, axvarcons: $o). 49.29/16.30 thf(hoaslam_decl, type, hoaslam: (subst > ((subst > (term > term)) > term))). 49.29/16.30 thf(axscons_decl, type, axscons: $o). 49.29/16.30 thf(hoasinduction_lem2v2_gthm_decl, type, hoasinduction_lem2v2_gthm: $o). 49.29/16.30 thf(axidr_decl, type, axidr: $o). 49.29/16.30 thf(pushprop_lem1_decl, type, pushprop_lem1: $o). 49.29/16.30 thf(laminj_decl, type, laminj: $o). 49.29/16.30 thf(hoasinduction_lem3_lthm_decl, type, hoasinduction_lem3_lthm: $o). 49.29/16.30 thf(pushprop_lem0_decl, type, pushprop_lem0: $o). 49.29/16.30 thf(pushprop_gthm_decl, type, pushprop_gthm: $o). 49.29/16.30 thf(axabs_decl, type, axabs: $o). 49.29/16.30 thf(hoasinduction_lem3v2a_lthm_decl, type, hoasinduction_lem3v2a_lthm: $o). 49.29/16.30 thf(hoasinduction_lem2_lthm_decl, type, hoasinduction_lem2_lthm: $o). 49.29/16.30 thf(hoasapinj2_gthm_decl, type, hoasapinj2_gthm: $o). 49.29/16.30 thf(hoasinduction_p_and_p_prime_decl, type, hoasinduction_p_and_p_prime: ((subst > (term > (subst > $o))) > ((term > $o) > $o))). 49.29/16.30 thf(hoasinduction_lem1_lthm_decl, type, hoasinduction_lem1_lthm: $o). 49.29/16.30 thf(lamnotap_decl, type, lamnotap: $o). 49.29/16.30 thf(hoasapinj1_gthm_decl, type, hoasapinj1_gthm: $o). 49.29/16.30 thf(hoaslamnotvar_decl, type, hoaslamnotvar: $o). 49.29/16.30 thf(axidl_decl, type, axidl: $o). 49.29/16.30 thf(hoaslaminj_gthm_decl, type, hoaslaminj_gthm: $o). 49.29/16.30 thf(induction2_lthm_decl, type, induction2_lthm: $o). 49.29/16.30 thf(hoasinduction_lem0_lthm_decl, type, hoasinduction_lem0_lthm: $o). 49.29/16.30 thf(substmonoid_lthm_decl, type, substmonoid_lthm: $o). 49.29/16.30 thf(pushprop_decl, type, pushprop: $o). 49.29/16.30 thf(hoasinduction_lem3_gthm_decl, type, hoasinduction_lem3_gthm: $o). 49.29/16.30 thf(hoasinduction_lem2_gthm_decl, type, hoasinduction_lem2_gthm: $o). 49.29/16.30 thf(hoasinduction_lem3b_decl, type, hoasinduction_lem3b: $o). 49.29/16.30 thf(substmonoid_decl, type, substmonoid: $o). 49.29/16.30 thf(lamnotvar_decl, type, lamnotvar: $o). 49.29/16.30 thf(hoasinduction_lem3a_decl, type, hoasinduction_lem3a: $o). 49.29/16.30 thf(hoasinduction_lem1_gthm_decl, type, hoasinduction_lem1_gthm: $o). 49.29/16.30 thf(hoasinduction_no_psi_cond_decl, type, hoasinduction_no_psi_cond: $o). 49.29/16.30 thf(induction2_gthm_decl, type, induction2_gthm: $o). 49.29/16.30 thf(pushprop_lem2v2_lthm_decl, type, pushprop_lem2v2_lthm: $o). 49.29/16.30 thf(hoasvar_decl, type, hoasvar: (subst > (term > (subst > $o)))). 49.29/16.30 thf(hoaslamnotap_decl, type, hoaslamnotap: $o). 49.29/16.30 thf(substmonoid_gthm_decl, type, substmonoid_gthm: $o). 49.29/16.30 thf(ulamvarsh_decl, type, ulamvarsh: $o). 49.29/16.30 thf(induction2_decl, type, induction2: $o). 49.29/16.30 thf(pushprop_lem3v2_decl, type, pushprop_lem3v2: $o). 49.29/16.30 thf(pushprop_lem2v2_gthm_decl, type, pushprop_lem2v2_gthm: $o). 49.29/16.30 thf(pushprop_lem1_lthm_decl, type, pushprop_lem1_lthm: $o). 49.29/16.30 thf(hoasinduction_lem3v2_decl, type, hoasinduction_lem3v2: $o). 49.29/16.30 thf(axshiftcons_decl, type, axshiftcons: $o). 49.29/16.30 thf(termmset_decl, type, termmset: $o). 49.29/16.30 thf(pushprop_lem0_lthm_decl, type, pushprop_lem0_lthm: $o). 49.29/16.30 thf(hoasapnotvar_lthm_decl, type, hoasapnotvar_lthm: $o). 49.29/16.30 thf(hoasinduction_lem3v2_lthm_decl, type, hoasinduction_lem3v2_lthm: $o). 49.29/16.30 thf(pushprop_p_and_p_prime_decl, type, pushprop_p_and_p_prime: (term > (subst > ((term > $o) > ((term > $o) > $o))))). 49.29/16.30 thf(axvarid_decl, type, axvarid: $o). 49.29/16.30 thf(hoasinduction_lthm_3_decl, type, hoasinduction_lthm_3: $o). 49.29/16.30 thf(d2term_decl, type, d2term: (d_term > term)). 49.29/16.30 thf(d2subst_decl, type, d2subst: (d_subst > subst)). 49.29/16.30 thf(d_one_decl, type, d_one: d_term). 49.29/16.30 thf(d_id_decl, type, d_id: d_subst). 49.29/16.30 thf(sk1_decl, type, sk1: (term > d_term)). 49.29/16.30 thf(sk2_decl, type, sk2: (subst > d_subst)). 49.29/16.30 thf(sk5_decl, type, sk5: term). 49.29/16.30 thf(sk6_decl, type, sk6: subst). 49.29/16.30 thf(sk7_decl, type, sk7: subst). 49.29/16.30 thf(sk1_def, definition, sk1 = (^ [A:term]: (@+ [B:d_term]: (A = (d2term @ B)))) ). 49.29/16.30 thf(sk2_def, definition, sk2 = (^ [A:subst]: (@+ [B:d_subst]: (A = (d2subst @ B)))) ). 49.29/16.30 thf(sk5_def, definition, sk5 = (@+ [A:term]: ~ (! [B:subst,C:subst]: ((sub @ (sub @ A @ B) @ C) = (sub @ A @ (comp @ B @ C))))) ). 49.29/16.30 thf(sk6_def, definition, sk6 = (@+ [A:subst]: ~ (! [B:subst]: ((sub @ (sub @ sk5 @ A) @ B) = (sub @ sk5 @ (comp @ A @ B))))) ). 49.29/16.30 thf(sk7_def, definition, sk7 = (@+ [A:subst]: ~ ((sub @ (sub @ sk5 @ sk6) @ A) = (sub @ sk5 @ (comp @ sk6 @ A)))) ). 49.29/16.30 thf(3,axiom,((! [A:term]: ? [B:d_term]: (A = (d2term @ B)) & ! [A:d_term,B:d_term]: ((A = B) <= ((d2term @ A) = (d2term @ B))) & ! [A:subst]: ? [B:d_subst]: (A = (d2subst @ B)) & ! [A:d_subst]: (A = d_id) & ! [A:d_subst,B:d_subst]: ((A = B) <= ((d2subst @ A) = (d2subst @ B))) & ((ap @ (d2term @ d_one) @ (d2term @ d_one)) = (d2term @ d_one)) & ((sub @ (d2term @ d_one) @ (d2subst @ d_id)) = (d2term @ d_one)) & (id = (d2subst @ d_id)) & ((comp @ (d2subst @ d_id) @ (d2subst @ d_id)) = (d2subst @ d_id)) & ((hoasap @ (d2subst @ d_id) @ (d2term @ d_one) @ (d2subst @ d_id) @ (d2term @ d_one)) = (d2term @ d_one)) & (pushprop_p_and_p_prime = (^ [A:term,B:subst,C:(term > $o),D:(term > $o)]: ! [E:term]: ((D @ E) = (C @ (sub @ E @ (push @ A @ B)))))) & (pushprop_lem1v2 = (! [A:(term > $o),B:(term > $o),C:term,D:subst]: (~ (A @ C) | (B @ one) | ~ (! [E:term]: ((B @ E) = (A @ (sub @ E @ (push @ C @ D)))))))) & (pushprop_lem1_gthm) & (axmap) & ((! [A:term,B:term]: (((sub @ A @ sh) != (sub @ B @ sh)) | (A = B))) = shinj) & (hoasinduction_lem1v2) & ((! [A:term,B:term,C:term,D:term]: (((ap @ (sub @ A @ id) @ C) != (ap @ (sub @ B @ id) @ D)) | (C = D))) = hoasapinj2) & (induction2lem_lthm = ((! [A:term,B:subst]: (A = (sub @ one @ (push @ A @ B)))) => ((! [A:term,B:subst]: (B = (comp @ sh @ (push @ A @ B)))) => ((! [A:subst]: (A = (comp @ A @ id))) => ((! [A:(term > $o),B:term]: (~ (! [C:term]: ((A @ C) | ~ (var @ C))) | ~ (! [C:term,D:term]: (~ (A @ C) | (A @ (ap @ C @ D)) | ~ (A @ D))) | (A @ B) | ~ (! [C:term]: (~ (A @ C) | (A @ (lam @ C)))))) => (! [A:(term > $o),B:term,C:subst]: (~ (! [D:term]: (~ (! [E:term]: (~ (A @ E) | (A @ (sub @ D @ (push @ E @ id))))) | (A @ (lam @ D)))) | ~ (! [D:term]: (~ (var @ D) | (A @ (sub @ D @ C)))) | (A @ (sub @ B @ C)) | ~ (! [D:term,E:term]: ((A @ (ap @ D @ E)) | ~ (A @ E) | ~ (A @ D)))))))))) & (apnotvar) & (pushprop_lthm_orig) & (hoasinduction_no_psi_cond_lthm = (((! [A:(term > $o),B:term]: (~ (! [C:term,D:term]: (~ (A @ C) | ~ (A @ D) | (A @ (ap @ C @ D)))) | ~ (! [C:term]: ((A @ (lam @ C)) | ~ (! [D:term]: (~ (A @ D) | (A @ (sub @ C @ (push @ D @ id))))))) | (A @ B) | ~ (! [C:term]: ((A @ C) | ~ (var @ C))))) => ((! [A:term]: (A = (sub @ A @ id))) => ((! [A:(subst > (term > (subst > $o))),B:(term > $o),C:term]: (~ (! [D:term]: ((B @ D) = (A @ id @ D @ id))) | (B @ (lam @ C)) | ~ (! [D:term]: (~ (B @ D) | (B @ (sub @ C @ (push @ D @ id))))) | ~ (! [D:(subst > (term > term))]: (~ (! [E:subst,F:term,G:subst]: ((sub @ (D @ E @ F) @ G) = (D @ (comp @ E @ G) @ (sub @ F @ G)))) | (A @ id @ (lam @ (D @ sh @ one)) @ id) | ~ (! [E:term]: (~ (A @ id @ E @ id) | (A @ id @ (D @ id @ E) @ id))))))) => (! [A:(subst > (term > (subst > $o))),B:term]: ((A @ id @ B @ id) | ~ (! [C:(subst > (term > term))]: (~ (! [D:term]: ((A @ id @ (C @ id @ D) @ id) | ~ (A @ id @ D @ id))) | (A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))))) | ~ (! [C:term,D:term]: ((A @ id @ (ap @ (sub @ C @ id) @ D) @ id) | ~ (A @ id @ D @ id) | ~ (A @ id @ C @ id)))))))) <= (! [A:(subst > (term > (subst > $o)))]: ~ (! [B:(term > $o)]: ~ (! [C:term]: ((B @ C) = (A @ id @ C @ id))))))) & ((! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:(subst > (term > term)),D:term]: (~ (! [E:term]: ((A @ id @ (C @ id @ E) @ id) | ~ (A @ id @ E @ id))) | ~ (! [E:subst,F:term,G:subst]: ((sub @ (C @ E @ F) @ G) = (sub @ (sub @ D @ (push @ F @ E)) @ G))) | ~ (! [E:subst,F:term,G:subst]: ((C @ (comp @ E @ G) @ (sub @ F @ G)) = (sub @ D @ (push @ (sub @ F @ G) @ (comp @ E @ G))))) | (A @ id @ (lam @ (C @ sh @ one)) @ id))) | (A @ id @ (lam @ (sub @ B @ (push @ one @ sh))) @ id) | ~ (! [C:term]: ((A @ id @ (sub @ B @ (push @ C @ id)) @ id) | ~ (A @ id @ C @ id))))) = hoasinduction_lem3aaa) & ((! [A:(subst > (term > (subst > $o))),B:term]: ((A @ id @ (lam @ (sub @ B @ (push @ one @ sh))) @ id) | ~ (! [C:term]: ((A @ id @ (sub @ B @ (push @ C @ id)) @ id) | ~ (A @ id @ C @ id))) | ~ (! [C:(subst > (term > term))]: ((A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:term]: ((A @ id @ (C @ id @ D) @ id) | ~ (A @ id @ D @ id))) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))))))) = hoasinduction_lem3aa_lthm) & (termmset_lthm = ((! [A:term]: (A = (sub @ A @ id))) <= (! [A:term]: (A = (sub @ A @ id))))) & (hoasinduction_lem1) & (hoaslamnotap_lthm) & (hoasinduction_lem0 = (! [A:(subst > (term > (subst > $o)))]: ~ (! [B:(term > $o)]: ~ (! [C:term]: ((B @ C) = (A @ id @ C @ id)))))) & (hoasinduction = (! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:subst,D:term,E:subst,F:subst]: ((A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | ~ (A @ C @ D @ (comp @ F @ E)))) | ~ (! [C:subst,D:term,E:subst,F:subst]: ((A @ C @ D @ (comp @ F @ E)) | ~ (A @ (comp @ C @ F) @ (sub @ D @ F) @ E))) | ~ (! [C:term,D:term]: ((A @ id @ (ap @ (sub @ C @ id) @ D) @ id) | ~ (A @ id @ D @ id) | ~ (A @ id @ C @ id))) | ~ (! [C:(subst > (term > term))]: (~ (! [D:term]: ((A @ id @ (C @ id @ D) @ id) | ~ (A @ id @ D @ id))) | (A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))))) | (A @ id @ B @ id) | ~ (! [C:term]: ((A @ id @ C @ id) | ~ (var @ (sub @ C @ id))))))) & (hoasinduction_gthm) & (axapp) & (hoaslamnotvar_lthm) & (ulamvarind) & (induction = (! [A:(term > $o),B:term]: (~ (! [C:term,D:term]: (~ (A @ C) | (A @ (ap @ C @ D)) | ~ (A @ D))) | (A @ B) | ~ (! [C:term]: ((A @ (lam @ C)) | ~ (A @ C))) | ~ (! [C:term]: (~ (var @ C) | (A @ C)))))) & ((((! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:(subst > (term > term))]: (~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))) | ~ (! [D:term]: ((A @ id @ (C @ id @ D) @ id) | ~ (A @ id @ D @ id))) | (A @ id @ (lam @ (C @ sh @ one)) @ id))) | (A @ id @ (lam @ (sub @ B @ (push @ one @ sh))) @ id) | ~ (! [C:term]: (~ (A @ id @ C @ id) | (A @ id @ (sub @ B @ (push @ C @ id)) @ id))))) => (! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:term]: (~ (A @ id @ C @ id) | (A @ id @ (sub @ B @ (push @ C @ id)) @ id))) | (A @ id @ (lam @ B) @ id) | ~ (! [C:(subst > (term > term))]: ((A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:term]: ((A @ id @ (C @ id @ D) @ id) | ~ (A @ id @ D @ id))) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F))))))))) <= (! [A:term]: (A = (sub @ A @ id)))) = hoasinduction_lem3a_lthm) & (termmset_gthm) & (hoasinduction_lem3aa = (! [A:(subst > (term > (subst > $o))),B:term]: ((A @ id @ (lam @ (sub @ B @ (push @ one @ sh))) @ id) | ~ (! [C:term]: (~ (A @ id @ C @ id) | (A @ id @ (sub @ B @ (push @ C @ id)) @ id))) | ~ (! [C:(subst > (term > term))]: ((A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:term]: ((A @ id @ (C @ id @ D) @ id) | ~ (A @ id @ D @ id))) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F))))))))) & (hoaslamnotap_gthm) & (hoasinduction_lem3b_gthm) & (pushprop_lem2v2) & (hoasinduction_lem3a_gthm) & (axassoc) & (pushprop_lthm) & ((! [A:term,B:term,C:term,D:term]: ((C = D) | ((ap @ A @ C) != (ap @ B @ D)))) = apinj2) & ((! [A:term,B:term,C:term,D:term]: (((ap @ A @ C) != (ap @ B @ D)) | (A = B))) = apinj1) & ((! [A:term,B:subst]: (A = (sub @ one @ (push @ A @ B)))) = axvarcons) & (hoasinduction_lem2v2_gthm) & (pushprop_lem0 = (! [A:(term > $o),B:term,C:subst]: ~ (! [D:(term > $o)]: ~ (! [E:term]: ((D @ E) = (A @ (sub @ E @ (push @ B @ C)))))))) & (hoasinduction_lem3v2a_lthm = ((! [A:term]: ~ (! [B:(subst > (term > term))]: ~ (! [C:term,D:subst]: ((sub @ A @ (push @ C @ D)) = (B @ D @ C))))) => ((! [A:(subst > (term > (subst > $o))),B:(term > $o),C:term]: (~ (! [D:(subst > (term > term))]: (~ (! [E:subst,F:term,G:subst]: ((sub @ (D @ E @ F) @ G) = (D @ (comp @ E @ G) @ (sub @ F @ G)))) | ~ (! [E:term]: ((A @ id @ (D @ id @ E) @ id) | ~ (A @ id @ E @ id))) | (A @ id @ (lam @ (D @ sh @ one)) @ id))) | ~ (! [D:term]: ((B @ D) = (A @ id @ D @ id))) | (B @ (lam @ C)) | ~ (! [D:term]: ((B @ (sub @ C @ (push @ D @ id))) | ~ (B @ D))))) <= (! [A:term]: (A = (sub @ A @ id)))))) & (hoasinduction_lem1_lthm) & ((((! [A:(term > $o),B:term,C:subst]: (~ (! [D:term,E:term]: (~ (A @ D) | (A @ (ap @ D @ E)) | ~ (A @ E))) | ~ (! [D:term]: (~ (! [E:term]: ((A @ (sub @ D @ (push @ E @ id))) | ~ (A @ E))) | (A @ (lam @ D)))) | ~ (! [D:term]: ((A @ (sub @ D @ C)) | ~ (var @ D))) | (A @ (sub @ B @ C)))) => (! [A:(term > $o),B:term]: (~ (! [C:term]: (~ (var @ C) | (A @ C))) | ~ (! [C:term]: (~ (! [D:term]: ((A @ (sub @ C @ (push @ D @ id))) | ~ (A @ D))) | (A @ (lam @ C)))) | (A @ B) | ~ (! [C:term,D:term]: (~ (A @ C) | (A @ (ap @ C @ D)) | ~ (A @ D)))))) <= (! [A:term]: (A = (sub @ A @ id)))) = induction2_lthm) & (pushprop) & (hoasinduction_lem3a = (! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:term]: (~ (A @ id @ C @ id) | (A @ id @ (sub @ B @ (push @ C @ id)) @ id))) | (A @ id @ (lam @ B) @ id) | ~ (! [C:(subst > (term > term))]: ((A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:term]: (~ (A @ id @ D @ id) | (A @ id @ (C @ id @ D) @ id))) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F))))))))) & (hoasinduction_lem1_gthm) & ((! [A:(subst > (term > term)),B:term,C:term]: (((lam @ (A @ sh @ one)) != (ap @ (sub @ B @ id) @ C)) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (A @ D @ E) @ F) = (A @ (comp @ D @ F) @ (sub @ E @ F)))))) = hoaslamnotap) & (induction2 = (! [A:(term > $o),B:term]: (~ (! [C:term]: (~ (var @ C) | (A @ C))) | ~ (! [C:term,D:term]: ((A @ (ap @ C @ D)) | ~ (A @ D) | ~ (A @ C))) | ~ (! [C:term]: (~ (! [D:term]: (~ (A @ D) | (A @ (sub @ C @ (push @ D @ id))))) | (A @ (lam @ C)))) | (A @ B)))) & (pushprop_lem3v2) & (pushprop_lem2v2_gthm) & (pushprop_lem1_lthm = (((! [A:(term > $o),B:(term > $o),C:term,D:subst,E:term]: ((B @ (sub @ C @ (push @ E @ D))) | ~ (A @ C))) <= (! [A:term,B:subst]: (B = (comp @ sh @ (push @ A @ B))))) <= (! [A:term,B:subst]: (A = (sub @ one @ (push @ A @ B)))))) & ((! [A:term,B:subst]: (B = (comp @ sh @ (push @ A @ B)))) = axshiftcons) & (termmset = (! [A:term]: (A = (sub @ A @ id)))) & (hoasapnotvar_lthm) & (hoasinduction_lem3v2_lthm = ((! [A:(subst > (term > (subst > $o))),B:(term > $o),C:term]: (~ (! [D:term]: ((B @ (sub @ C @ (push @ D @ id))) | ~ (B @ D))) | (B @ (lam @ C)) | ~ (! [D:term]: ((B @ D) = (A @ id @ D @ id))) | ~ (! [D:(subst > (term > term))]: (~ (! [E:term]: ((A @ id @ (D @ id @ E) @ id) | ~ (A @ id @ E @ id))) | (A @ id @ (lam @ (D @ sh @ one)) @ id) | ~ (! [E:subst,F:term,G:subst]: ((sub @ (D @ E @ F) @ G) = (D @ (comp @ E @ G) @ (sub @ F @ G)))))) | ~ (! [D:subst,E:term,F:subst,G:subst]: (~ (A @ (comp @ D @ G) @ (sub @ E @ G) @ F) | (A @ D @ E @ (comp @ G @ F)))) | ~ (! [D:subst,E:term,F:subst,G:subst]: (~ (A @ D @ E @ (comp @ G @ F)) | (A @ (comp @ D @ G) @ (sub @ E @ G) @ F))))) <= (! [A:term]: (A = (sub @ A @ id))))) & (((! [A:(subst > (term > (subst > $o)))]: ~ (! [B:(term > $o)]: ~ (! [C:term]: ((B @ C) = (A @ id @ C @ id))))) => (((! [A:term]: (A = (sub @ A @ id))) => ((! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:subst,D:term,E:subst,F:subst]: (~ (A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | (A @ C @ D @ (comp @ F @ E)))) | ~ (! [C:term]: (~ (var @ (sub @ C @ id)) | (A @ id @ C @ id))) | ~ (! [C:term,D:term]: (~ (A @ id @ D @ id) | (A @ id @ (ap @ (sub @ C @ id) @ D) @ id) | ~ (A @ id @ C @ id))) | (A @ id @ B @ id) | ~ (! [C:(subst > (term > term))]: (~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))) | (A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:term]: (~ (A @ id @ D @ id) | (A @ id @ (C @ id @ D) @ id))))) | ~ (! [C:subst,D:term,E:subst,F:subst]: (~ (A @ C @ D @ (comp @ F @ E)) | (A @ (comp @ C @ F) @ (sub @ D @ F) @ E))))) <= (! [A:(subst > (term > (subst > $o))),B:(term > $o),C:term]: (~ (! [D:term]: (~ (B @ D) | (B @ (sub @ C @ (push @ D @ id))))) | (B @ (lam @ C)) | ~ (! [D:term]: ((B @ D) = (A @ id @ D @ id))) | ~ (! [D:(subst > (term > term))]: (~ (! [E:term]: (~ (A @ id @ E @ id) | (A @ id @ (D @ id @ E) @ id))) | (A @ id @ (lam @ (D @ sh @ one)) @ id) | ~ (! [E:subst,F:term,G:subst]: ((sub @ (D @ E @ F) @ G) = (D @ (comp @ E @ G) @ (sub @ F @ G)))))))))) <= (! [A:(term > $o),B:term]: (~ (! [C:term]: (~ (var @ C) | (A @ C))) | ~ (! [C:term,D:term]: (~ (A @ C) | (A @ (ap @ C @ D)) | ~ (A @ D))) | (A @ B) | ~ (! [C:term]: (~ (! [D:term]: (~ (A @ D) | (A @ (sub @ C @ (push @ D @ id))))) | (A @ (lam @ C)))))))) = hoasinduction_lthm_3) & (axvarid = (! [A:term]: (A = (sub @ A @ id)))) & (pushprop_lem0_lthm = (! [A:(term > $o),B:term,C:subst]: ~ (! [D:(term > $o)]: ~ (! [E:term]: ((D @ E) = (A @ (sub @ E @ (push @ B @ C)))))))) & (hoasinduction_lem3v2 = (! [A:(subst > (term > (subst > $o))),B:(term > $o),C:term]: (~ (! [D:subst,E:term,F:subst,G:subst]: (~ (A @ D @ E @ (comp @ G @ F)) | (A @ (comp @ D @ G) @ (sub @ E @ G) @ F))) | ~ (! [D:subst,E:term,F:subst,G:subst]: ((A @ D @ E @ (comp @ G @ F)) | ~ (A @ (comp @ D @ G) @ (sub @ E @ G) @ F))) | ~ (! [D:term]: ((B @ D) = (A @ id @ D @ id))) | (B @ (lam @ C)) | ~ (! [D:term]: (~ (B @ D) | (B @ (sub @ C @ (push @ D @ id))))) | ~ (! [D:(subst > (term > term))]: (~ (! [E:subst,F:term,G:subst]: ((sub @ (D @ E @ F) @ G) = (D @ (comp @ E @ G) @ (sub @ F @ G)))) | (A @ id @ (lam @ (D @ sh @ one)) @ id) | ~ (! [E:term]: ((A @ id @ (D @ id @ E) @ id) | ~ (A @ id @ E @ id)))))))) & (ulamvarsh) & (substmonoid_gthm) & ~ (hoasvar @ (d2subst @ d_id) @ (d2term @ d_one) @ (d2subst @ d_id)) & (pushprop_lem2v2_lthm) & (induction2_gthm) & ((! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:term,D:term]: ((A @ id @ (ap @ (sub @ C @ id) @ D) @ id) | ~ (A @ id @ D @ id) | ~ (A @ id @ C @ id))) | ~ (! [C:(subst > (term > term))]: ((A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:term]: (~ (A @ id @ D @ id) | (A @ id @ (C @ id @ D) @ id))) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))))) | (A @ id @ B @ id))) = hoasinduction_no_psi_cond) & (lamnotvar) & ((! [A:subst]: (A = (comp @ A @ id)) & ! [A:subst]: (A = (comp @ id @ A))) = substmonoid) & ((! [A:term]: ~ (! [B:(subst > (term > term))]: ((B @ sh @ one) != (sub @ A @ (push @ one @ sh))))) = hoasinduction_lem3b) & (hoasinduction_lem2_gthm) & (hoasinduction_lem3_gthm) & ((((! [A:subst]: (A = (comp @ id @ A)) & ! [A:subst]: (A = (comp @ A @ id))) <= (! [A:subst]: (A = (comp @ A @ id)))) <= (! [A:subst]: (A = (comp @ id @ A)))) = substmonoid_lthm) & (hoasinduction_lem0_lthm = (! [A:(subst > (term > (subst > $o)))]: ~ (! [B:(term > $o)]: ~ (! [C:term]: ((B @ C) = (A @ id @ C @ id)))))) & (hoaslaminj_gthm) & (axidl = (! [A:subst]: (A = (comp @ id @ A)))) & (hoaslamnotvar) & (hoasapinj1_gthm) & ~ (lamnotap) & (hoasapinj2_gthm) & (hoasinduction_lem2_lthm) & (axabs) & (pushprop_gthm) & (hoasinduction_lem3_lthm = (((! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:subst,D:term,E:subst,F:subst]: ((A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | ~ (A @ C @ D @ (comp @ F @ E)))) | ~ (! [C:subst,D:term,E:subst,F:subst]: (~ (A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | (A @ C @ D @ (comp @ F @ E)))) | ~ (! [C:(subst > (term > term))]: (~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))) | (A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:term]: (~ (A @ id @ D @ id) | (A @ id @ (C @ id @ D) @ id))))) | (A @ id @ (lam @ B) @ id) | ~ (! [C:term]: (~ (A @ id @ C @ id) | (A @ id @ (sub @ B @ (push @ C @ id)) @ id))))) <= (! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:(subst > (term > term))]: ((A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:term]: ((A @ id @ (C @ id @ D) @ id) | ~ (A @ id @ D @ id))) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))))) | (A @ id @ (lam @ (sub @ B @ (push @ one @ sh))) @ id) | ~ (! [C:term]: ((A @ id @ (sub @ B @ (push @ C @ id)) @ id) | ~ (A @ id @ C @ id)))))) <= (! [A:term]: (A = (sub @ A @ id))))) & (laminj = (! [A:term,B:term]: (((lam @ A) != (lam @ B)) | (A = B)))) & (pushprop_lem1 = (! [A:(term > $o),B:(term > $o),C:term,D:subst,E:term]: (~ (A @ C) | (B @ (sub @ C @ (push @ E @ D)))))) & ((! [A:subst]: (A = (comp @ A @ id))) = axidr) & ((! [A:subst]: (A = (push @ (sub @ one @ A) @ (comp @ sh @ A)))) = axscons) & (hoaslaminj_lthm = ((! [A:term,B:subst]: (A = (sub @ one @ (push @ A @ B)))) => ((! [A:term,B:subst]: (B = (comp @ sh @ (push @ A @ B)))) => ((! [A:(subst > (term > term)),B:(subst > (term > term)),C:subst,D:term]: (~ (! [E:subst,F:term,G:subst]: ((sub @ (B @ E @ F) @ G) = (B @ (comp @ E @ G) @ (sub @ F @ G)))) | ((A @ C @ D) = (B @ C @ D)) | ((lam @ (A @ sh @ one)) != (lam @ (B @ sh @ one))) | ~ (! [E:subst,F:term,G:subst]: ((sub @ (A @ E @ F) @ G) = (A @ (comp @ E @ G) @ (sub @ F @ G)))))) <= (! [A:term,B:term]: ((A = B) | ((lam @ A) != (lam @ B)))))))) & (((! [A:term]: (A = (sub @ A @ id))) => ((! [A:term,B:term,C:term,D:term]: ((A = B) | ((ap @ (sub @ A @ id) @ C) != (ap @ (sub @ B @ id) @ D)))) <= (! [A:term,B:term,C:term,D:term]: (((ap @ A @ C) != (ap @ B @ D)) | (A = B))))) = hoasapinj1_lthm) & (hoasinduction_lem3v2a = (! [A:(subst > (term > (subst > $o))),B:(term > $o),C:term]: (~ (! [D:(subst > (term > term))]: (~ (! [E:term]: ((A @ id @ (D @ id @ E) @ id) | ~ (A @ id @ E @ id))) | (A @ id @ (lam @ (D @ sh @ one)) @ id) | ~ (! [E:subst,F:term,G:subst]: ((sub @ (D @ E @ F) @ G) = (D @ (comp @ E @ G) @ (sub @ F @ G)))))) | ~ (! [D:term]: ((B @ D) = (A @ id @ D @ id))) | (B @ (lam @ C)) | ~ (! [D:term]: (~ (B @ D) | (B @ (sub @ C @ (push @ D @ id)))))))) & (((! [A:term,B:term,C:term,D:term]: ((C = D) | ((ap @ (sub @ A @ id) @ C) != (ap @ (sub @ B @ id) @ D)))) <= (! [A:term,B:term,C:term,D:term]: (((ap @ A @ C) != (ap @ B @ D)) | (C = D)))) = hoasapinj2_lthm) & ((! [A:(subst > (term > (subst > $o))),B:(term > $o),C:term,D:term]: (~ (! [E:subst,F:term,G:subst,H:subst]: (~ (A @ (comp @ E @ H) @ (sub @ F @ H) @ G) | (A @ E @ F @ (comp @ H @ G)))) | ~ (B @ C) | (B @ (ap @ C @ D)) | ~ (B @ D) | ~ (! [E:term]: ((B @ E) = (A @ id @ E @ id))) | ~ (! [E:term,F:term]: ((A @ id @ (ap @ (sub @ E @ id) @ F) @ id) | ~ (A @ id @ F @ id) | ~ (A @ id @ E @ id))) | ~ (! [E:subst,F:term,G:subst,H:subst]: ((A @ (comp @ E @ H) @ (sub @ F @ H) @ G) | ~ (A @ E @ F @ (comp @ H @ G)))))) = hoasinduction_lem2v2) & (axclos) & (hoaslamnotvar_gthm) & (pushprop_lem1v2_gthm) & (hoasinduction_lem3b_lthm = (! [A:term]: ~ (! [B:(subst > (term > term))]: ((B @ sh @ one) != (sub @ A @ (push @ one @ sh)))))) & (pushprop_lem3v2_lthm) & (hoasapnotvar) & (((! [A:term,B:subst]: (A = (sub @ one @ (push @ A @ B)))) => (! [A:(term > $o),B:(term > $o),C:term,D:subst]: (~ (A @ C) | ~ (! [E:term]: ((B @ E) = (A @ (sub @ E @ (push @ C @ D))))) | (B @ one)))) = pushprop_lem1v2_lthm) & ((! [A:(subst > (term > (subst > $o))),B:term,C:term]: (~ (! [D:subst,E:term,F:subst,G:subst]: (~ (A @ D @ E @ (comp @ G @ F)) | (A @ (comp @ D @ G) @ (sub @ E @ G) @ F))) | ~ (! [D:subst,E:term,F:subst,G:subst]: (~ (A @ (comp @ D @ G) @ (sub @ E @ G) @ F) | (A @ D @ E @ (comp @ G @ F)))) | ~ (! [D:term,E:term]: (~ (A @ id @ D @ id) | (A @ id @ (ap @ (sub @ D @ id) @ E) @ id) | ~ (A @ id @ E @ id))) | ~ (A @ id @ B @ id) | (A @ id @ (ap @ B @ C) @ id) | ~ (A @ id @ C @ id))) = hoasinduction_lem2) & ((! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:subst,D:term,E:subst,F:subst]: (~ (A @ C @ D @ (comp @ F @ E)) | (A @ (comp @ C @ F) @ (sub @ D @ F) @ E))) | ~ (! [C:(subst > (term > term))]: (~ (! [D:term]: (~ (A @ id @ D @ id) | (A @ id @ (C @ id @ D) @ id))) | (A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))))) | ~ (! [C:term]: ((A @ id @ (sub @ B @ (push @ C @ id)) @ id) | ~ (A @ id @ C @ id))) | (A @ id @ (lam @ B) @ id) | ~ (! [C:subst,D:term,E:subst,F:subst]: (~ (A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | (A @ C @ D @ (comp @ F @ E)))))) = hoasinduction_lem3) & (induction2lem_gthm) & ((! [A:(subst > (term > term)),B:(subst > (term > term)),C:subst,D:term]: (~ (! [E:subst,F:term,G:subst]: ((sub @ (A @ E @ F) @ G) = (A @ (comp @ E @ G) @ (sub @ F @ G)))) | ~ (! [E:subst,F:term,G:subst]: ((sub @ (B @ E @ F) @ G) = (B @ (comp @ E @ G) @ (sub @ F @ G)))) | ((A @ C @ D) = (B @ C @ D)) | ((lam @ (A @ sh @ one)) != (lam @ (B @ sh @ one))))) = hoaslaminj) & (((((! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:subst,D:term,E:subst,F:subst]: ((A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | ~ (A @ C @ D @ (comp @ F @ E)))) | ~ (! [C:subst,D:term,E:subst,F:subst]: (~ (A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | (A @ C @ D @ (comp @ F @ E)))) | ~ (! [C:term,D:term]: (~ (A @ id @ C @ id) | (A @ id @ (ap @ (sub @ C @ id) @ D) @ id) | ~ (A @ id @ D @ id))) | (A @ id @ B @ id) | ~ (! [C:(subst > (term > term))]: (~ (! [D:term]: (~ (A @ id @ D @ id) | (A @ id @ (C @ id @ D) @ id))) | (A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))))) | ~ (! [C:term]: (~ (var @ (sub @ C @ id)) | (A @ id @ C @ id))))) <= (! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:subst,D:term,E:subst,F:subst]: ((A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | ~ (A @ C @ D @ (comp @ F @ E)))) | ~ (! [C:subst,D:term,E:subst,F:subst]: (~ (A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | (A @ C @ D @ (comp @ F @ E)))) | ~ (! [C:term]: ((A @ id @ (sub @ B @ (push @ C @ id)) @ id) | ~ (A @ id @ C @ id))) | (A @ id @ (lam @ B) @ id) | ~ (! [C:(subst > (term > term))]: (~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))) | ~ (! [D:term]: ((A @ id @ (C @ id @ D) @ id) | ~ (A @ id @ D @ id))) | (A @ id @ (lam @ (C @ sh @ one)) @ id)))))) <= (! [A:(subst > (term > (subst > $o))),B:term,C:term]: (~ (! [D:subst,E:term,F:subst,G:subst]: (~ (A @ (comp @ D @ G) @ (sub @ E @ G) @ F) | (A @ D @ E @ (comp @ G @ F)))) | ~ (! [D:term,E:term]: (~ (A @ id @ E @ id) | (A @ id @ (ap @ (sub @ D @ id) @ E) @ id) | ~ (A @ id @ D @ id))) | ~ (A @ id @ B @ id) | ~ (A @ id @ C @ id) | (A @ id @ (ap @ B @ C) @ id) | ~ (! [D:subst,E:term,F:subst,G:subst]: (~ (A @ D @ E @ (comp @ G @ F)) | (A @ (comp @ D @ G) @ (sub @ E @ G) @ F)))))) <= (! [A:(term > $o),B:term]: (~ (! [C:term]: ((A @ (lam @ C)) | ~ (! [D:term]: ((A @ (sub @ C @ (push @ D @ id))) | ~ (A @ D))))) | (A @ B) | ~ (! [C:term,D:term]: ((A @ (ap @ C @ D)) | ~ (A @ D) | ~ (A @ C))) | ~ (! [C:term]: (~ (var @ C) | (A @ C)))))) = hoasinduction_lthm) & (hoasinduction_lem3v2_f_lthm = (! [A:term]: ~ (! [B:(subst > (term > term))]: ~ (! [C:term,D:subst]: ((sub @ A @ (push @ C @ D)) = (B @ D @ C)))))) & (hoasinduction_lem3v2_gthm) & ~ (ulamvar1) & (hoasapinj1 = (! [A:term,B:term,C:term,D:term]: (((ap @ (sub @ A @ id) @ C) != (ap @ (sub @ B @ id) @ D)) | (A = B)))) & (hoasapnotvar_gthm) & (axvarshift) & ((! [A:term]: ~ (! [B:(subst > (term > term))]: ~ (! [C:term,D:subst]: ((sub @ A @ (push @ C @ D)) = (B @ D @ C))))) = hoasinduction_lem3v2_f) & (induction2lem = (! [A:(term > $o),B:term,C:subst]: (~ (! [D:term,E:term]: ((A @ (ap @ D @ E)) | ~ (A @ E) | ~ (A @ D))) | (A @ (sub @ B @ C)) | ~ (! [D:term]: (~ (var @ D) | (A @ (sub @ D @ C)))) | ~ (! [D:term]: (~ (! [E:term]: (~ (A @ E) | (A @ (sub @ D @ (push @ E @ id))))) | (A @ (lam @ D))))))) & (hoasinduction_lem1v2_gthm) & (pushprop_lem0_gthm) & ~ (var @ (d2term @ d_one)) & (hoasinduction_p_and_p_prime = (^ [A:(subst > (term > (subst > $o))),B:(term > $o)]: ! [C:term]: ((B @ C) = (A @ id @ C @ id)))) & (hoaslam = (^ [A:subst,B:(subst > (term > term))]: (d2term @ d_one))) & ((push @ (d2term @ d_one) @ (d2subst @ d_id)) = (d2subst @ d_id)) & (sh = (d2subst @ d_id)) & ((lam @ (d2term @ d_one)) = (d2term @ d_one)) & (one = (d2term @ d_one)) & ! [A:d_term]: (A = d_one))),file('/export/starexec/sandbox/benchmark/theBenchmark.p',alg444_1)). 49.29/16.30 thf(6,plain,((! [A:term]: ? [B:d_term]: (A = (d2term @ B)) & ! [A:d_term,B:d_term]: (((d2term @ A) = (d2term @ B)) => (A = B)) & ! [A:subst]: ? [B:d_subst]: (A = (d2subst @ B)) & ! [A:d_subst]: (A = d_id) & ! [A:d_subst,B:d_subst]: (((d2subst @ A) = (d2subst @ B)) => (A = B)) & ((ap @ (d2term @ d_one) @ (d2term @ d_one)) = (d2term @ d_one)) & ((sub @ (d2term @ d_one) @ (d2subst @ d_id)) = (d2term @ d_one)) & (id = (d2subst @ d_id)) & ((comp @ (d2subst @ d_id) @ (d2subst @ d_id)) = (d2subst @ d_id)) & ((hoasap @ (d2subst @ d_id) @ (d2term @ d_one) @ (d2subst @ d_id) @ (d2term @ d_one)) = (d2term @ d_one)) & ((pushprop_p_and_p_prime) = (^ [A:term,B:subst,C:(term > $o),D:(term > $o)]: ! [E:term]: ((D @ E) = (C @ (sub @ E @ (push @ A @ B)))))) & (pushprop_lem1v2 = (! [A:(term > $o),B:(term > $o),C:term,D:subst]: (~ (A @ C) | (B @ one) | ~ (! [E:term]: ((B @ E) = (A @ (sub @ E @ (push @ C @ D)))))))) & (pushprop_lem1_gthm) & (axmap) & ((! [A:term,B:term]: (~ ((sub @ A @ sh) = (sub @ B @ sh)) | (A = B))) = shinj) & (hoasinduction_lem1v2) & ((! [A:term,B:term,C:term,D:term]: (~ ((ap @ (sub @ A @ id) @ C) = (ap @ (sub @ B @ id) @ D)) | (C = D))) = hoasapinj2) & (induction2lem_lthm = ((! [A:term,B:subst]: (A = (sub @ one @ (push @ A @ B)))) => ((! [A:term,B:subst]: (B = (comp @ sh @ (push @ A @ B)))) => ((! [A:subst]: (A = (comp @ A @ id))) => ((! [A:(term > $o),B:term]: (~ (! [C:term]: ((A @ C) | ~ (var @ C))) | ~ (! [C:term,D:term]: (~ (A @ C) | (A @ (ap @ C @ D)) | ~ (A @ D))) | (A @ B) | ~ (! [C:term]: (~ (A @ C) | (A @ (lam @ C)))))) => (! [A:(term > $o),B:term,C:subst]: (~ (! [D:term]: (~ (! [E:term]: (~ (A @ E) | (A @ (sub @ D @ (push @ E @ id))))) | (A @ (lam @ D)))) | ~ (! [D:term]: (~ (var @ D) | (A @ (sub @ D @ C)))) | (A @ (sub @ B @ C)) | ~ (! [D:term,E:term]: ((A @ (ap @ D @ E)) | ~ (A @ E) | ~ (A @ D)))))))))) & (apnotvar) & (pushprop_lthm_orig) & (hoasinduction_no_psi_cond_lthm = ((! [A:(subst > (term > (subst > $o)))]: ~ (! [B:(term > $o)]: ~ (! [C:term]: ((B @ C) = (A @ id @ C @ id))))) => ((! [A:(term > $o),B:term]: (~ (! [C:term,D:term]: (~ (A @ C) | ~ (A @ D) | (A @ (ap @ C @ D)))) | ~ (! [C:term]: ((A @ (lam @ C)) | ~ (! [D:term]: (~ (A @ D) | (A @ (sub @ C @ (push @ D @ id))))))) | (A @ B) | ~ (! [C:term]: ((A @ C) | ~ (var @ C))))) => ((! [A:term]: (A = (sub @ A @ id))) => ((! [A:(subst > (term > (subst > $o))),B:(term > $o),C:term]: (~ (! [D:term]: ((B @ D) = (A @ id @ D @ id))) | (B @ (lam @ C)) | ~ (! [D:term]: (~ (B @ D) | (B @ (sub @ C @ (push @ D @ id))))) | ~ (! [D:(subst > (term > term))]: (~ (! [E:subst,F:term,G:subst]: ((sub @ (D @ E @ F) @ G) = (D @ (comp @ E @ G) @ (sub @ F @ G)))) | (A @ id @ (lam @ (D @ sh @ one)) @ id) | ~ (! [E:term]: (~ (A @ id @ E @ id) | (A @ id @ (D @ id @ E) @ id))))))) => (! [A:(subst > (term > (subst > $o))),B:term]: ((A @ id @ B @ id) | ~ (! [C:(subst > (term > term))]: (~ (! [D:term]: ((A @ id @ (C @ id @ D) @ id) | ~ (A @ id @ D @ id))) | (A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))))) | ~ (! [C:term,D:term]: ((A @ id @ (ap @ (sub @ C @ id) @ D) @ id) | ~ (A @ id @ D @ id) | ~ (A @ id @ C @ id)))))))))) & ((! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:(subst > (term > term)),D:term]: (~ (! [E:term]: ((A @ id @ (C @ id @ E) @ id) | ~ (A @ id @ E @ id))) | ~ (! [E:subst,F:term,G:subst]: ((sub @ (C @ E @ F) @ G) = (sub @ (sub @ D @ (push @ F @ E)) @ G))) | ~ (! [E:subst,F:term,G:subst]: ((C @ (comp @ E @ G) @ (sub @ F @ G)) = (sub @ D @ (push @ (sub @ F @ G) @ (comp @ E @ G))))) | (A @ id @ (lam @ (C @ sh @ one)) @ id))) | (A @ id @ (lam @ (sub @ B @ (push @ one @ sh))) @ id) | ~ (! [C:term]: ((A @ id @ (sub @ B @ (push @ C @ id)) @ id) | ~ (A @ id @ C @ id))))) = hoasinduction_lem3aaa) & ((! [A:(subst > (term > (subst > $o))),B:term]: ((A @ id @ (lam @ (sub @ B @ (push @ one @ sh))) @ id) | ~ (! [C:term]: ((A @ id @ (sub @ B @ (push @ C @ id)) @ id) | ~ (A @ id @ C @ id))) | ~ (! [C:(subst > (term > term))]: ((A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:term]: ((A @ id @ (C @ id @ D) @ id) | ~ (A @ id @ D @ id))) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))))))) = hoasinduction_lem3aa_lthm) & (termmset_lthm) & (hoasinduction_lem1) & (hoaslamnotap_lthm) & (hoasinduction_lem0 = (! [A:(subst > (term > (subst > $o)))]: ~ (! [B:(term > $o)]: ~ (! [C:term]: ((B @ C) = (A @ id @ C @ id)))))) & (hoasinduction = (! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:subst,D:term,E:subst,F:subst]: ((A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | ~ (A @ C @ D @ (comp @ F @ E)))) | ~ (! [C:subst,D:term,E:subst,F:subst]: ((A @ C @ D @ (comp @ F @ E)) | ~ (A @ (comp @ C @ F) @ (sub @ D @ F) @ E))) | ~ (! [C:term,D:term]: ((A @ id @ (ap @ (sub @ C @ id) @ D) @ id) | ~ (A @ id @ D @ id) | ~ (A @ id @ C @ id))) | ~ (! [C:(subst > (term > term))]: (~ (! [D:term]: ((A @ id @ (C @ id @ D) @ id) | ~ (A @ id @ D @ id))) | (A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))))) | (A @ id @ B @ id) | ~ (! [C:term]: ((A @ id @ C @ id) | ~ (var @ (sub @ C @ id))))))) & (hoasinduction_gthm) & (axapp) & (hoaslamnotvar_lthm) & (ulamvarind) & (induction = (! [A:(term > $o),B:term]: (~ (! [C:term,D:term]: (~ (A @ C) | (A @ (ap @ C @ D)) | ~ (A @ D))) | (A @ B) | ~ (! [C:term]: ((A @ (lam @ C)) | ~ (A @ C))) | ~ (! [C:term]: (~ (var @ C) | (A @ C)))))) & (((! [A:term]: (A = (sub @ A @ id))) => ((! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:(subst > (term > term))]: (~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))) | ~ (! [D:term]: ((A @ id @ (C @ id @ D) @ id) | ~ (A @ id @ D @ id))) | (A @ id @ (lam @ (C @ sh @ one)) @ id))) | (A @ id @ (lam @ (sub @ B @ (push @ one @ sh))) @ id) | ~ (! [C:term]: (~ (A @ id @ C @ id) | (A @ id @ (sub @ B @ (push @ C @ id)) @ id))))) => (! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:term]: (~ (A @ id @ C @ id) | (A @ id @ (sub @ B @ (push @ C @ id)) @ id))) | (A @ id @ (lam @ B) @ id) | ~ (! [C:(subst > (term > term))]: ((A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:term]: ((A @ id @ (C @ id @ D) @ id) | ~ (A @ id @ D @ id))) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))))))))) = hoasinduction_lem3a_lthm) & (termmset_gthm) & (hoasinduction_lem3aa = (! [A:(subst > (term > (subst > $o))),B:term]: ((A @ id @ (lam @ (sub @ B @ (push @ one @ sh))) @ id) | ~ (! [C:term]: (~ (A @ id @ C @ id) | (A @ id @ (sub @ B @ (push @ C @ id)) @ id))) | ~ (! [C:(subst > (term > term))]: ((A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:term]: ((A @ id @ (C @ id @ D) @ id) | ~ (A @ id @ D @ id))) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F))))))))) & (hoaslamnotap_gthm) & (hoasinduction_lem3b_gthm) & (pushprop_lem2v2) & (hoasinduction_lem3a_gthm) & (axassoc) & (pushprop_lthm) & ((! [A:term,B:term,C:term,D:term]: ((C = D) | ~ ((ap @ A @ C) = (ap @ B @ D)))) = apinj2) & ((! [A:term,B:term,C:term,D:term]: (~ ((ap @ A @ C) = (ap @ B @ D)) | (A = B))) = apinj1) & ((! [A:term,B:subst]: (A = (sub @ one @ (push @ A @ B)))) = axvarcons) & (hoasinduction_lem2v2_gthm) & (pushprop_lem0 = (! [A:(term > $o),B:term,C:subst]: ~ (! [D:(term > $o)]: ~ (! [E:term]: ((D @ E) = (A @ (sub @ E @ (push @ B @ C)))))))) & (hoasinduction_lem3v2a_lthm = ((! [A:term]: ~ (! [B:(subst > (term > term))]: ~ (! [C:term,D:subst]: ((sub @ A @ (push @ C @ D)) = (B @ D @ C))))) => ((! [A:term]: (A = (sub @ A @ id))) => (! [A:(subst > (term > (subst > $o))),B:(term > $o),C:term]: (~ (! [D:(subst > (term > term))]: (~ (! [E:subst,F:term,G:subst]: ((sub @ (D @ E @ F) @ G) = (D @ (comp @ E @ G) @ (sub @ F @ G)))) | ~ (! [E:term]: ((A @ id @ (D @ id @ E) @ id) | ~ (A @ id @ E @ id))) | (A @ id @ (lam @ (D @ sh @ one)) @ id))) | ~ (! [D:term]: ((B @ D) = (A @ id @ D @ id))) | (B @ (lam @ C)) | ~ (! [D:term]: ((B @ (sub @ C @ (push @ D @ id))) | ~ (B @ D)))))))) & (hoasinduction_lem1_lthm) & (((! [A:term]: (A = (sub @ A @ id))) => ((! [A:(term > $o),B:term,C:subst]: (~ (! [D:term,E:term]: (~ (A @ D) | (A @ (ap @ D @ E)) | ~ (A @ E))) | ~ (! [D:term]: (~ (! [E:term]: ((A @ (sub @ D @ (push @ E @ id))) | ~ (A @ E))) | (A @ (lam @ D)))) | ~ (! [D:term]: ((A @ (sub @ D @ C)) | ~ (var @ D))) | (A @ (sub @ B @ C)))) => (! [A:(term > $o),B:term]: (~ (! [C:term]: (~ (var @ C) | (A @ C))) | ~ (! [C:term]: (~ (! [D:term]: ((A @ (sub @ C @ (push @ D @ id))) | ~ (A @ D))) | (A @ (lam @ C)))) | (A @ B) | ~ (! [C:term,D:term]: (~ (A @ C) | (A @ (ap @ C @ D)) | ~ (A @ D))))))) = induction2_lthm) & (pushprop) & (hoasinduction_lem3a = (! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:term]: (~ (A @ id @ C @ id) | (A @ id @ (sub @ B @ (push @ C @ id)) @ id))) | (A @ id @ (lam @ B) @ id) | ~ (! [C:(subst > (term > term))]: ((A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:term]: (~ (A @ id @ D @ id) | (A @ id @ (C @ id @ D) @ id))) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F))))))))) & (hoasinduction_lem1_gthm) & ((! [A:(subst > (term > term)),B:term,C:term]: (~ ((lam @ (A @ sh @ one)) = (ap @ (sub @ B @ id) @ C)) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (A @ D @ E) @ F) = (A @ (comp @ D @ F) @ (sub @ E @ F)))))) = hoaslamnotap) & (induction2 = (! [A:(term > $o),B:term]: (~ (! [C:term]: (~ (var @ C) | (A @ C))) | ~ (! [C:term,D:term]: ((A @ (ap @ C @ D)) | ~ (A @ D) | ~ (A @ C))) | ~ (! [C:term]: (~ (! [D:term]: (~ (A @ D) | (A @ (sub @ C @ (push @ D @ id))))) | (A @ (lam @ C)))) | (A @ B)))) & (pushprop_lem3v2) & (pushprop_lem2v2_gthm) & (pushprop_lem1_lthm = ((! [A:term,B:subst]: (A = (sub @ one @ (push @ A @ B)))) => ((! [A:term,B:subst]: (B = (comp @ sh @ (push @ A @ B)))) => (! [A:(term > $o),B:(term > $o),C:term,D:subst,E:term]: ((B @ (sub @ C @ (push @ E @ D))) | ~ (A @ C)))))) & ((! [A:term,B:subst]: (B = (comp @ sh @ (push @ A @ B)))) = axshiftcons) & (termmset = (! [A:term]: (A = (sub @ A @ id)))) & (hoasapnotvar_lthm) & (hoasinduction_lem3v2_lthm = ((! [A:term]: (A = (sub @ A @ id))) => (! [A:(subst > (term > (subst > $o))),B:(term > $o),C:term]: (~ (! [D:term]: ((B @ (sub @ C @ (push @ D @ id))) | ~ (B @ D))) | (B @ (lam @ C)) | ~ (! [D:term]: ((B @ D) = (A @ id @ D @ id))) | ~ (! [D:(subst > (term > term))]: (~ (! [E:term]: ((A @ id @ (D @ id @ E) @ id) | ~ (A @ id @ E @ id))) | (A @ id @ (lam @ (D @ sh @ one)) @ id) | ~ (! [E:subst,F:term,G:subst]: ((sub @ (D @ E @ F) @ G) = (D @ (comp @ E @ G) @ (sub @ F @ G)))))) | ~ (! [D:subst,E:term,F:subst,G:subst]: (~ (A @ (comp @ D @ G) @ (sub @ E @ G) @ F) | (A @ D @ E @ (comp @ G @ F)))) | ~ (! [D:subst,E:term,F:subst,G:subst]: (~ (A @ D @ E @ (comp @ G @ F)) | (A @ (comp @ D @ G) @ (sub @ E @ G) @ F))))))) & (((! [A:(subst > (term > (subst > $o)))]: ~ (! [B:(term > $o)]: ~ (! [C:term]: ((B @ C) = (A @ id @ C @ id))))) => ((! [A:(term > $o),B:term]: (~ (! [C:term]: (~ (var @ C) | (A @ C))) | ~ (! [C:term,D:term]: (~ (A @ C) | (A @ (ap @ C @ D)) | ~ (A @ D))) | (A @ B) | ~ (! [C:term]: (~ (! [D:term]: (~ (A @ D) | (A @ (sub @ C @ (push @ D @ id))))) | (A @ (lam @ C)))))) => ((! [A:term]: (A = (sub @ A @ id))) => ((! [A:(subst > (term > (subst > $o))),B:(term > $o),C:term]: (~ (! [D:term]: (~ (B @ D) | (B @ (sub @ C @ (push @ D @ id))))) | (B @ (lam @ C)) | ~ (! [D:term]: ((B @ D) = (A @ id @ D @ id))) | ~ (! [D:(subst > (term > term))]: (~ (! [E:term]: (~ (A @ id @ E @ id) | (A @ id @ (D @ id @ E) @ id))) | (A @ id @ (lam @ (D @ sh @ one)) @ id) | ~ (! [E:subst,F:term,G:subst]: ((sub @ (D @ E @ F) @ G) = (D @ (comp @ E @ G) @ (sub @ F @ G)))))))) => (! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:subst,D:term,E:subst,F:subst]: (~ (A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | (A @ C @ D @ (comp @ F @ E)))) | ~ (! [C:term]: (~ (var @ (sub @ C @ id)) | (A @ id @ C @ id))) | ~ (! [C:term,D:term]: (~ (A @ id @ D @ id) | (A @ id @ (ap @ (sub @ C @ id) @ D) @ id) | ~ (A @ id @ C @ id))) | (A @ id @ B @ id) | ~ (! [C:(subst > (term > term))]: (~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))) | (A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:term]: (~ (A @ id @ D @ id) | (A @ id @ (C @ id @ D) @ id))))) | ~ (! [C:subst,D:term,E:subst,F:subst]: (~ (A @ C @ D @ (comp @ F @ E)) | (A @ (comp @ C @ F) @ (sub @ D @ F) @ E))))))))) = hoasinduction_lthm_3) & (axvarid = (! [A:term]: (A = (sub @ A @ id)))) & (pushprop_lem0_lthm = (! [A:(term > $o),B:term,C:subst]: ~ (! [D:(term > $o)]: ~ (! [E:term]: ((D @ E) = (A @ (sub @ E @ (push @ B @ C)))))))) & (hoasinduction_lem3v2 = (! [A:(subst > (term > (subst > $o))),B:(term > $o),C:term]: (~ (! [D:subst,E:term,F:subst,G:subst]: (~ (A @ D @ E @ (comp @ G @ F)) | (A @ (comp @ D @ G) @ (sub @ E @ G) @ F))) | ~ (! [D:subst,E:term,F:subst,G:subst]: ((A @ D @ E @ (comp @ G @ F)) | ~ (A @ (comp @ D @ G) @ (sub @ E @ G) @ F))) | ~ (! [D:term]: ((B @ D) = (A @ id @ D @ id))) | (B @ (lam @ C)) | ~ (! [D:term]: (~ (B @ D) | (B @ (sub @ C @ (push @ D @ id))))) | ~ (! [D:(subst > (term > term))]: (~ (! [E:subst,F:term,G:subst]: ((sub @ (D @ E @ F) @ G) = (D @ (comp @ E @ G) @ (sub @ F @ G)))) | (A @ id @ (lam @ (D @ sh @ one)) @ id) | ~ (! [E:term]: ((A @ id @ (D @ id @ E) @ id) | ~ (A @ id @ E @ id)))))))) & (ulamvarsh) & (substmonoid_gthm) & ~ (hoasvar @ (d2subst @ d_id) @ (d2term @ d_one) @ (d2subst @ d_id)) & (pushprop_lem2v2_lthm) & (induction2_gthm) & ((! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:term,D:term]: ((A @ id @ (ap @ (sub @ C @ id) @ D) @ id) | ~ (A @ id @ D @ id) | ~ (A @ id @ C @ id))) | ~ (! [C:(subst > (term > term))]: ((A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:term]: (~ (A @ id @ D @ id) | (A @ id @ (C @ id @ D) @ id))) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))))) | (A @ id @ B @ id))) = hoasinduction_no_psi_cond) & (lamnotvar) & ((! [A:subst]: (A = (comp @ A @ id)) & ! [A:subst]: (A = (comp @ id @ A))) = substmonoid) & ((! [A:term]: ~ (! [B:(subst > (term > term))]: ~ ((B @ sh @ one) = (sub @ A @ (push @ one @ sh))))) = hoasinduction_lem3b) & (hoasinduction_lem2_gthm) & (hoasinduction_lem3_gthm) & (((! [A:subst]: (A = (comp @ id @ A))) => ((! [A:subst]: (A = (comp @ A @ id))) => (! [A:subst]: (A = (comp @ id @ A)) & ! [A:subst]: (A = (comp @ A @ id))))) = substmonoid_lthm) & (hoasinduction_lem0_lthm = (! [A:(subst > (term > (subst > $o)))]: ~ (! [B:(term > $o)]: ~ (! [C:term]: ((B @ C) = (A @ id @ C @ id)))))) & (hoaslaminj_gthm) & (axidl = (! [A:subst]: (A = (comp @ id @ A)))) & (hoaslamnotvar) & (hoasapinj1_gthm) & ~ (lamnotap) & (hoasapinj2_gthm) & (hoasinduction_lem2_lthm) & (axabs) & (pushprop_gthm) & (hoasinduction_lem3_lthm = ((! [A:term]: (A = (sub @ A @ id))) => ((! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:(subst > (term > term))]: ((A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:term]: ((A @ id @ (C @ id @ D) @ id) | ~ (A @ id @ D @ id))) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))))) | (A @ id @ (lam @ (sub @ B @ (push @ one @ sh))) @ id) | ~ (! [C:term]: ((A @ id @ (sub @ B @ (push @ C @ id)) @ id) | ~ (A @ id @ C @ id))))) => (! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:subst,D:term,E:subst,F:subst]: ((A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | ~ (A @ C @ D @ (comp @ F @ E)))) | ~ (! [C:subst,D:term,E:subst,F:subst]: (~ (A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | (A @ C @ D @ (comp @ F @ E)))) | ~ (! [C:(subst > (term > term))]: (~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))) | (A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:term]: (~ (A @ id @ D @ id) | (A @ id @ (C @ id @ D) @ id))))) | (A @ id @ (lam @ B) @ id) | ~ (! [C:term]: (~ (A @ id @ C @ id) | (A @ id @ (sub @ B @ (push @ C @ id)) @ id)))))))) & (laminj = (! [A:term,B:term]: (~ ((lam @ A) = (lam @ B)) | (A = B)))) & (pushprop_lem1 = (! [A:(term > $o),B:(term > $o),C:term,D:subst,E:term]: (~ (A @ C) | (B @ (sub @ C @ (push @ E @ D)))))) & ((! [A:subst]: (A = (comp @ A @ id))) = axidr) & ((! [A:subst]: (A = (push @ (sub @ one @ A) @ (comp @ sh @ A)))) = axscons) & (hoaslaminj_lthm = ((! [A:term,B:subst]: (A = (sub @ one @ (push @ A @ B)))) => ((! [A:term,B:subst]: (B = (comp @ sh @ (push @ A @ B)))) => ((! [A:term,B:term]: ((A = B) | ~ ((lam @ A) = (lam @ B)))) => (! [A:(subst > (term > term)),B:(subst > (term > term)),C:subst,D:term]: (~ (! [E:subst,F:term,G:subst]: ((sub @ (B @ E @ F) @ G) = (B @ (comp @ E @ G) @ (sub @ F @ G)))) | ((A @ C @ D) = (B @ C @ D)) | ~ ((lam @ (A @ sh @ one)) = (lam @ (B @ sh @ one))) | ~ (! [E:subst,F:term,G:subst]: ((sub @ (A @ E @ F) @ G) = (A @ (comp @ E @ G) @ (sub @ F @ G)))))))))) & (((! [A:term]: (A = (sub @ A @ id))) => ((! [A:term,B:term,C:term,D:term]: (~ ((ap @ A @ C) = (ap @ B @ D)) | (A = B))) => (! [A:term,B:term,C:term,D:term]: ((A = B) | ~ ((ap @ (sub @ A @ id) @ C) = (ap @ (sub @ B @ id) @ D)))))) = hoasapinj1_lthm) & (hoasinduction_lem3v2a = (! [A:(subst > (term > (subst > $o))),B:(term > $o),C:term]: (~ (! [D:(subst > (term > term))]: (~ (! [E:term]: ((A @ id @ (D @ id @ E) @ id) | ~ (A @ id @ E @ id))) | (A @ id @ (lam @ (D @ sh @ one)) @ id) | ~ (! [E:subst,F:term,G:subst]: ((sub @ (D @ E @ F) @ G) = (D @ (comp @ E @ G) @ (sub @ F @ G)))))) | ~ (! [D:term]: ((B @ D) = (A @ id @ D @ id))) | (B @ (lam @ C)) | ~ (! [D:term]: (~ (B @ D) | (B @ (sub @ C @ (push @ D @ id)))))))) & (((! [A:term,B:term,C:term,D:term]: (~ ((ap @ A @ C) = (ap @ B @ D)) | (C = D))) => (! [A:term,B:term,C:term,D:term]: ((C = D) | ~ ((ap @ (sub @ A @ id) @ C) = (ap @ (sub @ B @ id) @ D))))) = hoasapinj2_lthm) & ((! [A:(subst > (term > (subst > $o))),B:(term > $o),C:term,D:term]: (~ (! [E:subst,F:term,G:subst,H:subst]: (~ (A @ (comp @ E @ H) @ (sub @ F @ H) @ G) | (A @ E @ F @ (comp @ H @ G)))) | ~ (B @ C) | (B @ (ap @ C @ D)) | ~ (B @ D) | ~ (! [E:term]: ((B @ E) = (A @ id @ E @ id))) | ~ (! [E:term,F:term]: ((A @ id @ (ap @ (sub @ E @ id) @ F) @ id) | ~ (A @ id @ F @ id) | ~ (A @ id @ E @ id))) | ~ (! [E:subst,F:term,G:subst,H:subst]: ((A @ (comp @ E @ H) @ (sub @ F @ H) @ G) | ~ (A @ E @ F @ (comp @ H @ G)))))) = hoasinduction_lem2v2) & (axclos) & (hoaslamnotvar_gthm) & (pushprop_lem1v2_gthm) & (hoasinduction_lem3b_lthm = (! [A:term]: ~ (! [B:(subst > (term > term))]: ~ ((B @ sh @ one) = (sub @ A @ (push @ one @ sh)))))) & (pushprop_lem3v2_lthm) & (hoasapnotvar) & (((! [A:term,B:subst]: (A = (sub @ one @ (push @ A @ B)))) => (! [A:(term > $o),B:(term > $o),C:term,D:subst]: (~ (A @ C) | ~ (! [E:term]: ((B @ E) = (A @ (sub @ E @ (push @ C @ D))))) | (B @ one)))) = pushprop_lem1v2_lthm) & ((! [A:(subst > (term > (subst > $o))),B:term,C:term]: (~ (! [D:subst,E:term,F:subst,G:subst]: (~ (A @ D @ E @ (comp @ G @ F)) | (A @ (comp @ D @ G) @ (sub @ E @ G) @ F))) | ~ (! [D:subst,E:term,F:subst,G:subst]: (~ (A @ (comp @ D @ G) @ (sub @ E @ G) @ F) | (A @ D @ E @ (comp @ G @ F)))) | ~ (! [D:term,E:term]: (~ (A @ id @ D @ id) | (A @ id @ (ap @ (sub @ D @ id) @ E) @ id) | ~ (A @ id @ E @ id))) | ~ (A @ id @ B @ id) | (A @ id @ (ap @ B @ C) @ id) | ~ (A @ id @ C @ id))) = hoasinduction_lem2) & ((! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:subst,D:term,E:subst,F:subst]: (~ (A @ C @ D @ (comp @ F @ E)) | (A @ (comp @ C @ F) @ (sub @ D @ F) @ E))) | ~ (! [C:(subst > (term > term))]: (~ (! [D:term]: (~ (A @ id @ D @ id) | (A @ id @ (C @ id @ D) @ id))) | (A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))))) | ~ (! [C:term]: ((A @ id @ (sub @ B @ (push @ C @ id)) @ id) | ~ (A @ id @ C @ id))) | (A @ id @ (lam @ B) @ id) | ~ (! [C:subst,D:term,E:subst,F:subst]: (~ (A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | (A @ C @ D @ (comp @ F @ E)))))) = hoasinduction_lem3) & (induction2lem_gthm) & ((! [A:(subst > (term > term)),B:(subst > (term > term)),C:subst,D:term]: (~ (! [E:subst,F:term,G:subst]: ((sub @ (A @ E @ F) @ G) = (A @ (comp @ E @ G) @ (sub @ F @ G)))) | ~ (! [E:subst,F:term,G:subst]: ((sub @ (B @ E @ F) @ G) = (B @ (comp @ E @ G) @ (sub @ F @ G)))) | ((A @ C @ D) = (B @ C @ D)) | ~ ((lam @ (A @ sh @ one)) = (lam @ (B @ sh @ one))))) = hoaslaminj) & (((! [A:(term > $o),B:term]: (~ (! [C:term]: ((A @ (lam @ C)) | ~ (! [D:term]: ((A @ (sub @ C @ (push @ D @ id))) | ~ (A @ D))))) | (A @ B) | ~ (! [C:term,D:term]: ((A @ (ap @ C @ D)) | ~ (A @ D) | ~ (A @ C))) | ~ (! [C:term]: (~ (var @ C) | (A @ C))))) => ((! [A:(subst > (term > (subst > $o))),B:term,C:term]: (~ (! [D:subst,E:term,F:subst,G:subst]: (~ (A @ (comp @ D @ G) @ (sub @ E @ G) @ F) | (A @ D @ E @ (comp @ G @ F)))) | ~ (! [D:term,E:term]: (~ (A @ id @ E @ id) | (A @ id @ (ap @ (sub @ D @ id) @ E) @ id) | ~ (A @ id @ D @ id))) | ~ (A @ id @ B @ id) | ~ (A @ id @ C @ id) | (A @ id @ (ap @ B @ C) @ id) | ~ (! [D:subst,E:term,F:subst,G:subst]: (~ (A @ D @ E @ (comp @ G @ F)) | (A @ (comp @ D @ G) @ (sub @ E @ G) @ F))))) => ((! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:subst,D:term,E:subst,F:subst]: ((A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | ~ (A @ C @ D @ (comp @ F @ E)))) | ~ (! [C:subst,D:term,E:subst,F:subst]: (~ (A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | (A @ C @ D @ (comp @ F @ E)))) | ~ (! [C:term]: ((A @ id @ (sub @ B @ (push @ C @ id)) @ id) | ~ (A @ id @ C @ id))) | (A @ id @ (lam @ B) @ id) | ~ (! [C:(subst > (term > term))]: (~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))) | ~ (! [D:term]: ((A @ id @ (C @ id @ D) @ id) | ~ (A @ id @ D @ id))) | (A @ id @ (lam @ (C @ sh @ one)) @ id))))) => (! [A:(subst > (term > (subst > $o))),B:term]: (~ (! [C:subst,D:term,E:subst,F:subst]: ((A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | ~ (A @ C @ D @ (comp @ F @ E)))) | ~ (! [C:subst,D:term,E:subst,F:subst]: (~ (A @ (comp @ C @ F) @ (sub @ D @ F) @ E) | (A @ C @ D @ (comp @ F @ E)))) | ~ (! [C:term,D:term]: (~ (A @ id @ C @ id) | (A @ id @ (ap @ (sub @ C @ id) @ D) @ id) | ~ (A @ id @ D @ id))) | (A @ id @ B @ id) | ~ (! [C:(subst > (term > term))]: (~ (! [D:term]: (~ (A @ id @ D @ id) | (A @ id @ (C @ id @ D) @ id))) | (A @ id @ (lam @ (C @ sh @ one)) @ id) | ~ (! [D:subst,E:term,F:subst]: ((sub @ (C @ D @ E) @ F) = (C @ (comp @ D @ F) @ (sub @ E @ F)))))) | ~ (! [C:term]: (~ (var @ (sub @ C @ id)) | (A @ id @ C @ id)))))))) = hoasinduction_lthm) & (hoasinduction_lem3v2_f_lthm = (! [A:term]: ~ (! [B:(subst > (term > term))]: ~ (! [C:term,D:subst]: ((sub @ A @ (push @ C @ D)) = (B @ D @ C)))))) & (hoasinduction_lem3v2_gthm) & ~ (ulamvar1) & (hoasapinj1 = (! [A:term,B:term,C:term,D:term]: (~ ((ap @ (sub @ A @ id) @ C) = (ap @ (sub @ B @ id) @ D)) | (A = B)))) & (hoasapnotvar_gthm) & (axvarshift) & ((! [A:term]: ~ (! [B:(subst > (term > term))]: ~ (! [C:term,D:subst]: ((sub @ A @ (push @ C @ D)) = (B @ D @ C))))) = hoasinduction_lem3v2_f) & (induction2lem = (! [A:(term > $o),B:term,C:subst]: (~ (! [D:term,E:term]: ((A @ (ap @ D @ E)) | ~ (A @ E) | ~ (A @ D))) | (A @ (sub @ B @ C)) | ~ (! [D:term]: (~ (var @ D) | (A @ (sub @ D @ C)))) | ~ (! [D:term]: (~ (! [E:term]: (~ (A @ E) | (A @ (sub @ D @ (push @ E @ id))))) | (A @ (lam @ D))))))) & (hoasinduction_lem1v2_gthm) & (pushprop_lem0_gthm) & ~ (var @ (d2term @ d_one)) & ((hoasinduction_p_and_p_prime) = (^ [A:(subst > (term > (subst > $o))),B:(term > $o)]: ! [C:term]: ((B @ C) = (A @ id @ C @ id)))) & ((hoaslam) = (^ [A:subst,B:(subst > (term > term))]: (d2term @ d_one))) & ((push @ (d2term @ d_one) @ (d2subst @ d_id)) = (d2subst @ d_id)) & (sh = (d2subst @ d_id)) & ((lam @ (d2term @ d_one)) = (d2term @ d_one)) & (one = (d2term @ d_one)) & ! [A:d_term]: (A = d_one))),inference(defexp_and_simp_and_etaexpand,[status(thm)],[3])). 49.29/16.30 thf(7,plain,(! [H:d_term,G:d_subst,F:d_subst,E:d_subst,D:subst,C:d_term,B:d_term,A:term] : (((A = (d2term @ (sk1 @ A))) & (~ ((d2term @ B) = (d2term @ C)) | (B = C)) & (D = (d2subst @ (sk2 @ D))) & (E = d_id) & (~ ((d2subst @ F) = (d2subst @ G)) | (F = G)) & ((ap @ (d2term @ d_one) @ (d2term @ d_one)) = (d2term @ d_one)) & ((sub @ (d2term @ d_one) @ (d2subst @ d_id)) = (d2term @ d_one)) & (id = (d2subst @ d_id)) & ((comp @ (d2subst @ d_id) @ (d2subst @ d_id)) = (d2subst @ d_id)) & ((hoasap @ (d2subst @ d_id) @ (d2term @ d_one) @ (d2subst @ d_id) @ (d2term @ d_one)) = (d2term @ d_one)) & ((pushprop_p_and_p_prime) = (^ [I:term,J:subst,K:(term > $o),L:(term > $o)]: ! [M:term]: ((L @ M) = (K @ (sub @ M @ (push @ I @ J)))))) & (pushprop_lem1v2 = (! [I:(term > $o),J:(term > $o),K:term,L:subst]: (~ (I @ K) | (J @ one) | ~ (! [M:term]: ((J @ M) = (I @ (sub @ M @ (push @ K @ L)))))))) & (pushprop_lem1_gthm) & (axmap) & ((! [I:term,J:term]: (~ ((sub @ I @ sh) = (sub @ J @ sh)) | (I = J))) = shinj) & (hoasinduction_lem1v2) & ((! [I:term,J:term,K:term,L:term]: (~ ((ap @ (sub @ I @ id) @ K) = (ap @ (sub @ J @ id) @ L)) | (K = L))) = hoasapinj2) & (induction2lem_lthm = ((! [I:term,J:subst]: (I = (sub @ one @ (push @ I @ J)))) => ((! [I:term,J:subst]: (J = (comp @ sh @ (push @ I @ J)))) => ((! [I:subst]: (I = (comp @ I @ id))) => ((! [I:(term > $o),J:term]: (~ (! [K:term]: ((I @ K) | ~ (var @ K))) | ~ (! [K:term,L:term]: (~ (I @ K) | (I @ (ap @ K @ L)) | ~ (I @ L))) | (I @ J) | ~ (! [K:term]: (~ (I @ K) | (I @ (lam @ K)))))) => (! [I:(term > $o),J:term,K:subst]: (~ (! [L:term]: (~ (! [M:term]: (~ (I @ M) | (I @ (sub @ L @ (push @ M @ id))))) | (I @ (lam @ L)))) | ~ (! [L:term]: (~ (var @ L) | (I @ (sub @ L @ K)))) | (I @ (sub @ J @ K)) | ~ (! [L:term,M:term]: ((I @ (ap @ L @ M)) | ~ (I @ M) | ~ (I @ L)))))))))) & (apnotvar) & (pushprop_lthm_orig) & (hoasinduction_no_psi_cond_lthm = ((! [I:(subst > (term > (subst > $o)))]: ~ (! [J:(term > $o)]: ~ (! [K:term]: ((J @ K) = (I @ id @ K @ id))))) => ((! [I:(term > $o),J:term]: (~ (! [K:term,L:term]: (~ (I @ K) | ~ (I @ L) | (I @ (ap @ K @ L)))) | ~ (! [K:term]: ((I @ (lam @ K)) | ~ (! [L:term]: (~ (I @ L) | (I @ (sub @ K @ (push @ L @ id))))))) | (I @ J) | ~ (! [K:term]: ((I @ K) | ~ (var @ K))))) => ((! [I:term]: (I = (sub @ I @ id))) => ((! [I:(subst > (term > (subst > $o))),J:(term > $o),K:term]: (~ (! [L:term]: ((J @ L) = (I @ id @ L @ id))) | (J @ (lam @ K)) | ~ (! [L:term]: (~ (J @ L) | (J @ (sub @ K @ (push @ L @ id))))) | ~ (! [L:(subst > (term > term))]: (~ (! [M:subst,N:term,O:subst]: ((sub @ (L @ M @ N) @ O) = (L @ (comp @ M @ O) @ (sub @ N @ O)))) | (I @ id @ (lam @ (L @ sh @ one)) @ id) | ~ (! [M:term]: (~ (I @ id @ M @ id) | (I @ id @ (L @ id @ M) @ id))))))) => (! [I:(subst > (term > (subst > $o))),J:term]: ((I @ id @ J @ id) | ~ (! [K:(subst > (term > term))]: (~ (! [L:term]: ((I @ id @ (K @ id @ L) @ id) | ~ (I @ id @ L @ id))) | (I @ id @ (lam @ (K @ sh @ one)) @ id) | ~ (! [L:subst,M:term,N:subst]: ((sub @ (K @ L @ M) @ N) = (K @ (comp @ L @ N) @ (sub @ M @ N)))))) | ~ (! [K:term,L:term]: ((I @ id @ (ap @ (sub @ K @ id) @ L) @ id) | ~ (I @ id @ L @ id) | ~ (I @ id @ K @ id)))))))))) & ((! [I:(subst > (term > (subst > $o))),J:term]: (~ (! [K:(subst > (term > term)),L:term]: (~ (! [M:term]: ((I @ id @ (K @ id @ M) @ id) | ~ (I @ id @ M @ id))) | ~ (! [M:subst,N:term,O:subst]: ((sub @ (K @ M @ N) @ O) = (sub @ (sub @ L @ (push @ N @ M)) @ O))) | ~ (! [M:subst,N:term,O:subst]: ((K @ (comp @ M @ O) @ (sub @ N @ O)) = (sub @ L @ (push @ (sub @ N @ O) @ (comp @ M @ O))))) | (I @ id @ (lam @ (K @ sh @ one)) @ id))) | (I @ id @ (lam @ (sub @ J @ (push @ one @ sh))) @ id) | ~ (! [K:term]: ((I @ id @ (sub @ J @ (push @ K @ id)) @ id) | ~ (I @ id @ K @ id))))) = hoasinduction_lem3aaa) & ((! [I:(subst > (term > (subst > $o))),J:term]: ((I @ id @ (lam @ (sub @ J @ (push @ one @ sh))) @ id) | ~ (! [K:term]: ((I @ id @ (sub @ J @ (push @ K @ id)) @ id) | ~ (I @ id @ K @ id))) | ~ (! [K:(subst > (term > term))]: ((I @ id @ (lam @ (K @ sh @ one)) @ id) | ~ (! [L:term]: ((I @ id @ (K @ id @ L) @ id) | ~ (I @ id @ L @ id))) | ~ (! [L:subst,M:term,N:subst]: ((sub @ (K @ L @ M) @ N) = (K @ (comp @ L @ N) @ (sub @ M @ N)))))))) = hoasinduction_lem3aa_lthm) & (termmset_lthm) & (hoasinduction_lem1) & (hoaslamnotap_lthm) & (hoasinduction_lem0 = (! [I:(subst > (term > (subst > $o)))]: ~ (! [J:(term > $o)]: ~ (! [K:term]: ((J @ K) = (I @ id @ K @ id)))))) & (hoasinduction = (! [I:(subst > (term > (subst > $o))),J:term]: (~ (! [K:subst,L:term,M:subst,N:subst]: ((I @ (comp @ K @ N) @ (sub @ L @ N) @ M) | ~ (I @ K @ L @ (comp @ N @ M)))) | ~ (! [K:subst,L:term,M:subst,N:subst]: ((I @ K @ L @ (comp @ N @ M)) | ~ (I @ (comp @ K @ N) @ (sub @ L @ N) @ M))) | ~ (! [K:term,L:term]: ((I @ id @ (ap @ (sub @ K @ id) @ L) @ id) | ~ (I @ id @ L @ id) | ~ (I @ id @ K @ id))) | ~ (! [K:(subst > (term > term))]: (~ (! [L:term]: ((I @ id @ (K @ id @ L) @ id) | ~ (I @ id @ L @ id))) | (I @ id @ (lam @ (K @ sh @ one)) @ id) | ~ (! [L:subst,M:term,N:subst]: ((sub @ (K @ L @ M) @ N) = (K @ (comp @ L @ N) @ (sub @ M @ N)))))) | (I @ id @ J @ id) | ~ (! [K:term]: ((I @ id @ K @ id) | ~ (var @ (sub @ K @ id))))))) & (hoasinduction_gthm) & (axapp) & (hoaslamnotvar_lthm) & (ulamvarind) & (induction = (! [I:(term > $o),J:term]: (~ (! [K:term,L:term]: (~ (I @ K) | (I @ (ap @ K @ L)) | ~ (I @ L))) | (I @ J) | ~ (! [K:term]: ((I @ (lam @ K)) | ~ (I @ K))) | ~ (! [K:term]: (~ (var @ K) | (I @ K)))))) & (((! [I:term]: (I = (sub @ I @ id))) => ((! [I:(subst > (term > (subst > $o))),J:term]: (~ (! [K:(subst > (term > term))]: (~ (! [L:subst,M:term,N:subst]: ((sub @ (K @ L @ M) @ N) = (K @ (comp @ L @ N) @ (sub @ M @ N)))) | ~ (! [L:term]: ((I @ id @ (K @ id @ L) @ id) | ~ (I @ id @ L @ id))) | (I @ id @ (lam @ (K @ sh @ one)) @ id))) | (I @ id @ (lam @ (sub @ J @ (push @ one @ sh))) @ id) | ~ (! [K:term]: (~ (I @ id @ K @ id) | (I @ id @ (sub @ J @ (push @ K @ id)) @ id))))) => (! [I:(subst > (term > (subst > $o))),J:term]: (~ (! [K:term]: (~ (I @ id @ K @ id) | (I @ id @ (sub @ J @ (push @ K @ id)) @ id))) | (I @ id @ (lam @ J) @ id) | ~ (! [K:(subst > (term > term))]: ((I @ id @ (lam @ (K @ sh @ one)) @ id) | ~ (! [L:term]: ((I @ id @ (K @ id @ L) @ id) | ~ (I @ id @ L @ id))) | ~ (! [L:subst,M:term,N:subst]: ((sub @ (K @ L @ M) @ N) = (K @ (comp @ L @ N) @ (sub @ M @ N)))))))))) = hoasinduction_lem3a_lthm) & (termmset_gthm) & (hoasinduction_lem3aa = (! [I:(subst > (term > (subst > $o))),J:term]: ((I @ id @ (lam @ (sub @ J @ (push @ one @ sh))) @ id) | ~ (! [K:term]: (~ (I @ id @ K @ id) | (I @ id @ (sub @ J @ (push @ K @ id)) @ id))) | ~ (! [K:(subst > (term > term))]: ((I @ id @ (lam @ (K @ sh @ one)) @ id) | ~ (! [L:term]: ((I @ id @ (K @ id @ L) @ id) | ~ (I @ id @ L @ id))) | ~ (! [L:subst,M:term,N:subst]: ((sub @ (K @ L @ M) @ N) = (K @ (comp @ L @ N) @ (sub @ M @ N))))))))) & (hoaslamnotap_gthm) & (hoasinduction_lem3b_gthm) & (pushprop_lem2v2) & (hoasinduction_lem3a_gthm) & (axassoc) & (pushprop_lthm) & ((! [I:term,J:term,K:term,L:term]: ((K = L) | ~ ((ap @ I @ K) = (ap @ J @ L)))) = apinj2) & ((! [I:term,J:term,K:term,L:term]: (~ ((ap @ I @ K) = (ap @ J @ L)) | (I = J))) = apinj1) & ((! [I:term,J:subst]: (I = (sub @ one @ (push @ I @ J)))) = axvarcons) & (hoasinduction_lem2v2_gthm) & (pushprop_lem0 = (! [I:(term > $o),J:term,K:subst]: ~ (! [L:(term > $o)]: ~ (! [M:term]: ((L @ M) = (I @ (sub @ M @ (push @ J @ K)))))))) & (hoasinduction_lem3v2a_lthm = ((! [I:term]: ~ (! [J:(subst > (term > term))]: ~ (! [K:term,L:subst]: ((sub @ I @ (push @ K @ L)) = (J @ L @ K))))) => ((! [I:term]: (I = (sub @ I @ id))) => (! [I:(subst > (term > (subst > $o))),J:(term > $o),K:term]: (~ (! [L:(subst > (term > term))]: (~ (! [M:subst,N:term,O:subst]: ((sub @ (L @ M @ N) @ O) = (L @ (comp @ M @ O) @ (sub @ N @ O)))) | ~ (! [M:term]: ((I @ id @ (L @ id @ M) @ id) | ~ (I @ id @ M @ id))) | (I @ id @ (lam @ (L @ sh @ one)) @ id))) | ~ (! [L:term]: ((J @ L) = (I @ id @ L @ id))) | (J @ (lam @ K)) | ~ (! [L:term]: ((J @ (sub @ K @ (push @ L @ id))) | ~ (J @ L)))))))) & (hoasinduction_lem1_lthm) & (((! [I:term]: (I = (sub @ I @ id))) => ((! [I:(term > $o),J:term,K:subst]: (~ (! [L:term,M:term]: (~ (I @ L) | (I @ (ap @ L @ M)) | ~ (I @ M))) | ~ (! [L:term]: (~ (! [M:term]: ((I @ (sub @ L @ (push @ M @ id))) | ~ (I @ M))) | (I @ (lam @ L)))) | ~ (! [L:term]: ((I @ (sub @ L @ K)) | ~ (var @ L))) | (I @ (sub @ J @ K)))) => (! [I:(term > $o),J:term]: (~ (! [K:term]: (~ (var @ K) | (I @ K))) | ~ (! [K:term]: (~ (! [L:term]: ((I @ (sub @ K @ (push @ L @ id))) | ~ (I @ L))) | (I @ (lam @ K)))) | (I @ J) | ~ (! [K:term,L:term]: (~ (I @ K) | (I @ (ap @ K @ L)) | ~ (I @ L))))))) = induction2_lthm) & (pushprop) & (hoasinduction_lem3a = (! [I:(subst > (term > (subst > $o))),J:term]: (~ (! [K:term]: (~ (I @ id @ K @ id) | (I @ id @ (sub @ J @ (push @ K @ id)) @ id))) | (I @ id @ (lam @ J) @ id) | ~ (! [K:(subst > (term > term))]: ((I @ id @ (lam @ (K @ sh @ one)) @ id) | ~ (! [L:term]: (~ (I @ id @ L @ id) | (I @ id @ (K @ id @ L) @ id))) | ~ (! [L:subst,M:term,N:subst]: ((sub @ (K @ L @ M) @ N) = (K @ (comp @ L @ N) @ (sub @ M @ N))))))))) & (hoasinduction_lem1_gthm) & ((! [I:(subst > (term > term)),J:term,K:term]: (~ ((lam @ (I @ sh @ one)) = (ap @ (sub @ J @ id) @ K)) | ~ (! [L:subst,M:term,N:subst]: ((sub @ (I @ L @ M) @ N) = (I @ (comp @ L @ N) @ (sub @ M @ N)))))) = hoaslamnotap) & (induction2 = (! [I:(term > $o),J:term]: (~ (! [K:term]: (~ (var @ K) | (I @ K))) | ~ (! [K:term,L:term]: ((I @ (ap @ K @ L)) | ~ (I @ L) | ~ (I @ K))) | ~ (! [K:term]: (~ (! [L:term]: (~ (I @ L) | (I @ (sub @ K @ (push @ L @ id))))) | (I @ (lam @ K)))) | (I @ J)))) & (pushprop_lem3v2) & (pushprop_lem2v2_gthm) & (pushprop_lem1_lthm = ((! [I:term,J:subst]: (I = (sub @ one @ (push @ I @ J)))) => ((! [I:term,J:subst]: (J = (comp @ sh @ (push @ I @ J)))) => (! [I:(term > $o),J:(term > $o),K:term,L:subst,M:term]: ((J @ (sub @ K @ (push @ M @ L))) | ~ (I @ K)))))) & ((! [I:term,J:subst]: (J = (comp @ sh @ (push @ I @ J)))) = axshiftcons) & (termmset = (! [I:term]: (I = (sub @ I @ id)))) & (hoasapnotvar_lthm) & (hoasinduction_lem3v2_lthm = ((! [I:term]: (I = (sub @ I @ id))) => (! [I:(subst > (term > (subst > $o))),J:(term > $o),K:term]: (~ (! [L:term]: ((J @ (sub @ K @ (push @ L @ id))) | ~ (J @ L))) | (J @ (lam @ K)) | ~ (! [L:term]: ((J @ L) = (I @ id @ L @ id))) | ~ (! [L:(subst > (term > term))]: (~ (! [M:term]: ((I @ id @ (L @ id @ M) @ id) | ~ (I @ id @ M @ id))) | (I @ id @ (lam @ (L @ sh @ one)) @ id) | ~ (! [M:subst,N:term,O:subst]: ((sub @ (L @ M @ N) @ O) = (L @ (comp @ M @ O) @ (sub @ N @ O)))))) | ~ (! [L:subst,M:term,N:subst,O:subst]: (~ (I @ (comp @ L @ O) @ (sub @ M @ O) @ N) | (I @ L @ M @ (comp @ O @ N)))) | ~ (! [L:subst,M:term,N:subst,O:subst]: (~ (I @ L @ M @ (comp @ O @ N)) | (I @ (comp @ L @ O) @ (sub @ M @ O) @ N))))))) & (((! [I:(subst > (term > (subst > $o)))]: ~ (! [J:(term > $o)]: ~ (! [K:term]: ((J @ K) = (I @ id @ K @ id))))) => ((! [I:(term > $o),J:term]: (~ (! [K:term]: (~ (var @ K) | (I @ K))) | ~ (! [K:term,L:term]: (~ (I @ K) | (I @ (ap @ K @ L)) | ~ (I @ L))) | (I @ J) | ~ (! [K:term]: (~ (! [L:term]: (~ (I @ L) | (I @ (sub @ K @ (push @ L @ id))))) | (I @ (lam @ K)))))) => ((! [I:term]: (I = (sub @ I @ id))) => ((! [I:(subst > (term > (subst > $o))),J:(term > $o),K:term]: (~ (! [L:term]: (~ (J @ L) | (J @ (sub @ K @ (push @ L @ id))))) | (J @ (lam @ K)) | ~ (! [L:term]: ((J @ L) = (I @ id @ L @ id))) | ~ (! [L:(subst > (term > term))]: (~ (! [M:term]: (~ (I @ id @ M @ id) | (I @ id @ (L @ id @ M) @ id))) | (I @ id @ (lam @ (L @ sh @ one)) @ id) | ~ (! [M:subst,N:term,O:subst]: ((sub @ (L @ M @ N) @ O) = (L @ (comp @ M @ O) @ (sub @ N @ O)))))))) => (! [I:(subst > (term > (subst > $o))),J:term]: (~ (! [K:subst,L:term,M:subst,N:subst]: (~ (I @ (comp @ K @ N) @ (sub @ L @ N) @ M) | (I @ K @ L @ (comp @ N @ M)))) | ~ (! [K:term]: (~ (var @ (sub @ K @ id)) | (I @ id @ K @ id))) | ~ (! [K:term,L:term]: (~ (I @ id @ L @ id) | (I @ id @ (ap @ (sub @ K @ id) @ L) @ id) | ~ (I @ id @ K @ id))) | (I @ id @ J @ id) | ~ (! [K:(subst > (term > term))]: (~ (! [L:subst,M:term,N:subst]: ((sub @ (K @ L @ M) @ N) = (K @ (comp @ L @ N) @ (sub @ M @ N)))) | (I @ id @ (lam @ (K @ sh @ one)) @ id) | ~ (! [L:term]: (~ (I @ id @ L @ id) | (I @ id @ (K @ id @ L) @ id))))) | ~ (! [K:subst,L:term,M:subst,N:subst]: (~ (I @ K @ L @ (comp @ N @ M)) | (I @ (comp @ K @ N) @ (sub @ L @ N) @ M))))))))) = hoasinduction_lthm_3) & (axvarid = (! [I:term]: (I = (sub @ I @ id)))) & (pushprop_lem0_lthm = (! [I:(term > $o),J:term,K:subst]: ~ (! [L:(term > $o)]: ~ (! [M:term]: ((L @ M) = (I @ (sub @ M @ (push @ J @ K)))))))) & (hoasinduction_lem3v2 = (! [I:(subst > (term > (subst > $o))),J:(term > $o),K:term]: (~ (! [L:subst,M:term,N:subst,O:subst]: (~ (I @ L @ M @ (comp @ O @ N)) | (I @ (comp @ L @ O) @ (sub @ M @ O) @ N))) | ~ (! [L:subst,M:term,N:subst,O:subst]: ((I @ L @ M @ (comp @ O @ N)) | ~ (I @ (comp @ L @ O) @ (sub @ M @ O) @ N))) | ~ (! [L:term]: ((J @ L) = (I @ id @ L @ id))) | (J @ (lam @ K)) | ~ (! [L:term]: (~ (J @ L) | (J @ (sub @ K @ (push @ L @ id))))) | ~ (! [L:(subst > (term > term))]: (~ (! [M:subst,N:term,O:subst]: ((sub @ (L @ M @ N) @ O) = (L @ (comp @ M @ O) @ (sub @ N @ O)))) | (I @ id @ (lam @ (L @ sh @ one)) @ id) | ~ (! [M:term]: ((I @ id @ (L @ id @ M) @ id) | ~ (I @ id @ M @ id)))))))) & (ulamvarsh) & (substmonoid_gthm) & ~ (hoasvar @ (d2subst @ d_id) @ (d2term @ d_one) @ (d2subst @ d_id)) & (pushprop_lem2v2_lthm) & (induction2_gthm) & ((! [I:(subst > (term > (subst > $o))),J:term]: (~ (! [K:term,L:term]: ((I @ id @ (ap @ (sub @ K @ id) @ L) @ id) | ~ (I @ id @ L @ id) | ~ (I @ id @ K @ id))) | ~ (! [K:(subst > (term > term))]: ((I @ id @ (lam @ (K @ sh @ one)) @ id) | ~ (! [L:term]: (~ (I @ id @ L @ id) | (I @ id @ (K @ id @ L) @ id))) | ~ (! [L:subst,M:term,N:subst]: ((sub @ (K @ L @ M) @ N) = (K @ (comp @ L @ N) @ (sub @ M @ N)))))) | (I @ id @ J @ id))) = hoasinduction_no_psi_cond) & (lamnotvar) & ((! [I:subst]: (I = (comp @ I @ id)) & ! [I:subst]: (I = (comp @ id @ I))) = substmonoid) & ((! [I:term]: ~ (! [J:(subst > (term > term))]: ~ ((J @ sh @ one) = (sub @ I @ (push @ one @ sh))))) = hoasinduction_lem3b) & (hoasinduction_lem2_gthm) & (hoasinduction_lem3_gthm) & (((! [I:subst]: (I = (comp @ id @ I))) => ((! [I:subst]: (I = (comp @ I @ id))) => (! [I:subst]: (I = (comp @ id @ I)) & ! [I:subst]: (I = (comp @ I @ id))))) = substmonoid_lthm) & (hoasinduction_lem0_lthm = (! [I:(subst > (term > (subst > $o)))]: ~ (! [J:(term > $o)]: ~ (! [K:term]: ((J @ K) = (I @ id @ K @ id)))))) & (hoaslaminj_gthm) & (axidl = (! [I:subst]: (I = (comp @ id @ I)))) & (hoaslamnotvar) & (hoasapinj1_gthm) & ~ (lamnotap) & (hoasapinj2_gthm) & (hoasinduction_lem2_lthm) & (axabs) & (pushprop_gthm) & (hoasinduction_lem3_lthm = ((! [I:term]: (I = (sub @ I @ id))) => ((! [I:(subst > (term > (subst > $o))),J:term]: (~ (! [K:(subst > (term > term))]: ((I @ id @ (lam @ (K @ sh @ one)) @ id) | ~ (! [L:term]: ((I @ id @ (K @ id @ L) @ id) | ~ (I @ id @ L @ id))) | ~ (! [L:subst,M:term,N:subst]: ((sub @ (K @ L @ M) @ N) = (K @ (comp @ L @ N) @ (sub @ M @ N)))))) | (I @ id @ (lam @ (sub @ J @ (push @ one @ sh))) @ id) | ~ (! [K:term]: ((I @ id @ (sub @ J @ (push @ K @ id)) @ id) | ~ (I @ id @ K @ id))))) => (! [I:(subst > (term > (subst > $o))),J:term]: (~ (! [K:subst,L:term,M:subst,N:subst]: ((I @ (comp @ K @ N) @ (sub @ L @ N) @ M) | ~ (I @ K @ L @ (comp @ N @ M)))) | ~ (! [K:subst,L:term,M:subst,N:subst]: (~ (I @ (comp @ K @ N) @ (sub @ L @ N) @ M) | (I @ K @ L @ (comp @ N @ M)))) | ~ (! [K:(subst > (term > term))]: (~ (! [L:subst,M:term,N:subst]: ((sub @ (K @ L @ M) @ N) = (K @ (comp @ L @ N) @ (sub @ M @ N)))) | (I @ id @ (lam @ (K @ sh @ one)) @ id) | ~ (! [L:term]: (~ (I @ id @ L @ id) | (I @ id @ (K @ id @ L) @ id))))) | (I @ id @ (lam @ J) @ id) | ~ (! [K:term]: (~ (I @ id @ K @ id) | (I @ id @ (sub @ J @ (push @ K @ id)) @ id)))))))) & (laminj = (! [I:term,J:term]: (~ ((lam @ I) = (lam @ J)) | (I = J)))) & (pushprop_lem1 = (! [I:(term > $o),J:(term > $o),K:term,L:subst,M:term]: (~ (I @ K) | (J @ (sub @ K @ (push @ M @ L)))))) & ((! [I:subst]: (I = (comp @ I @ id))) = axidr) & ((! [I:subst]: (I = (push @ (sub @ one @ I) @ (comp @ sh @ I)))) = axscons) & (hoaslaminj_lthm = ((! [I:term,J:subst]: (I = (sub @ one @ (push @ I @ J)))) => ((! [I:term,J:subst]: (J = (comp @ sh @ (push @ I @ J)))) => ((! [I:term,J:term]: ((I = J) | ~ ((lam @ I) = (lam @ J)))) => (! [I:(subst > (term > term)),J:(subst > (term > term)),K:subst,L:term]: (~ (! [M:subst,N:term,O:subst]: ((sub @ (J @ M @ N) @ O) = (J @ (comp @ M @ O) @ (sub @ N @ O)))) | ((I @ K @ L) = (J @ K @ L)) | ~ ((lam @ (I @ sh @ one)) = (lam @ (J @ sh @ one))) | ~ (! [M:subst,N:term,O:subst]: ((sub @ (I @ M @ N) @ O) = (I @ (comp @ M @ O) @ (sub @ N @ O)))))))))) & (((! [I:term]: (I = (sub @ I @ id))) => ((! [I:term,J:term,K:term,L:term]: (~ ((ap @ I @ K) = (ap @ J @ L)) | (I = J))) => (! [I:term,J:term,K:term,L:term]: ((I = J) | ~ ((ap @ (sub @ I @ id) @ K) = (ap @ (sub @ J @ id) @ L)))))) = hoasapinj1_lthm) & (hoasinduction_lem3v2a = (! [I:(subst > (term > (subst > $o))),J:(term > $o),K:term]: (~ (! [L:(subst > (term > term))]: (~ (! [M:term]: ((I @ id @ (L @ id @ M) @ id) | ~ (I @ id @ M @ id))) | (I @ id @ (lam @ (L @ sh @ one)) @ id) | ~ (! [M:subst,N:term,O:subst]: ((sub @ (L @ M @ N) @ O) = (L @ (comp @ M @ O) @ (sub @ N @ O)))))) | ~ (! [L:term]: ((J @ L) = (I @ id @ L @ id))) | (J @ (lam @ K)) | ~ (! [L:term]: (~ (J @ L) | (J @ (sub @ K @ (push @ L @ id)))))))) & (((! [I:term,J:term,K:term,L:term]: (~ ((ap @ I @ K) = (ap @ J @ L)) | (K = L))) => (! [I:term,J:term,K:term,L:term]: ((K = L) | ~ ((ap @ (sub @ I @ id) @ K) = (ap @ (sub @ J @ id) @ L))))) = hoasapinj2_lthm) & ((! [I:(subst > (term > (subst > $o))),J:(term > $o),K:term,L:term]: (~ (! [M:subst,N:term,O:subst,P:subst]: (~ (I @ (comp @ M @ P) @ (sub @ N @ P) @ O) | (I @ M @ N @ (comp @ P @ O)))) | ~ (J @ K) | (J @ (ap @ K @ L)) | ~ (J @ L) | ~ (! [M:term]: ((J @ M) = (I @ id @ M @ id))) | ~ (! [M:term,N:term]: ((I @ id @ (ap @ (sub @ M @ id) @ N) @ id) | ~ (I @ id @ N @ id) | ~ (I @ id @ M @ id))) | ~ (! [M:subst,N:term,O:subst,P:subst]: ((I @ (comp @ M @ P) @ (sub @ N @ P) @ O) | ~ (I @ M @ N @ (comp @ P @ O)))))) = hoasinduction_lem2v2) & (axclos) & (hoaslamnotvar_gthm) & (pushprop_lem1v2_gthm) & (hoasinduction_lem3b_lthm = (! [I:term]: ~ (! [J:(subst > (term > term))]: ~ ((J @ sh @ one) = (sub @ I @ (push @ one @ sh)))))) & (pushprop_lem3v2_lthm) & (hoasapnotvar) & (((! [I:term,J:subst]: (I = (sub @ one @ (push @ I @ J)))) => (! [I:(term > $o),J:(term > $o),K:term,L:subst]: (~ (I @ K) | ~ (! [M:term]: ((J @ M) = (I @ (sub @ M @ (push @ K @ L))))) | (J @ one)))) = pushprop_lem1v2_lthm) & ((! [I:(subst > (term > (subst > $o))),J:term,K:term]: (~ (! [L:subst,M:term,N:subst,O:subst]: (~ (I @ L @ M @ (comp @ O @ N)) | (I @ (comp @ L @ O) @ (sub @ M @ O) @ N))) | ~ (! [L:subst,M:term,N:subst,O:subst]: (~ (I @ (comp @ L @ O) @ (sub @ M @ O) @ N) | (I @ L @ M @ (comp @ O @ N)))) | ~ (! [L:term,M:term]: (~ (I @ id @ L @ id) | (I @ id @ (ap @ (sub @ L @ id) @ M) @ id) | ~ (I @ id @ M @ id))) | ~ (I @ id @ J @ id) | (I @ id @ (ap @ J @ K) @ id) | ~ (I @ id @ K @ id))) = hoasinduction_lem2) & ((! [I:(subst > (term > (subst > $o))),J:term]: (~ (! [K:subst,L:term,M:subst,N:subst]: (~ (I @ K @ L @ (comp @ N @ M)) | (I @ (comp @ K @ N) @ (sub @ L @ N) @ M))) | ~ (! [K:(subst > (term > term))]: (~ (! [L:term]: (~ (I @ id @ L @ id) | (I @ id @ (K @ id @ L) @ id))) | (I @ id @ (lam @ (K @ sh @ one)) @ id) | ~ (! [L:subst,M:term,N:subst]: ((sub @ (K @ L @ M) @ N) = (K @ (comp @ L @ N) @ (sub @ M @ N)))))) | ~ (! [K:term]: ((I @ id @ (sub @ J @ (push @ K @ id)) @ id) | ~ (I @ id @ K @ id))) | (I @ id @ (lam @ J) @ id) | ~ (! [K:subst,L:term,M:subst,N:subst]: (~ (I @ (comp @ K @ N) @ (sub @ L @ N) @ M) | (I @ K @ L @ (comp @ N @ M)))))) = hoasinduction_lem3) & (induction2lem_gthm) & ((! [I:(subst > (term > term)),J:(subst > (term > term)),K:subst,L:term]: (~ (! [M:subst,N:term,O:subst]: ((sub @ (I @ M @ N) @ O) = (I @ (comp @ M @ O) @ (sub @ N @ O)))) | ~ (! [M:subst,N:term,O:subst]: ((sub @ (J @ M @ N) @ O) = (J @ (comp @ M @ O) @ (sub @ N @ O)))) | ((I @ K @ L) = (J @ K @ L)) | ~ ((lam @ (I @ sh @ one)) = (lam @ (J @ sh @ one))))) = hoaslaminj) & (((! [I:(term > $o),J:term]: (~ (! [K:term]: ((I @ (lam @ K)) | ~ (! [L:term]: ((I @ (sub @ K @ (push @ L @ id))) | ~ (I @ L))))) | (I @ J) | ~ (! [K:term,L:term]: ((I @ (ap @ K @ L)) | ~ (I @ L) | ~ (I @ K))) | ~ (! [K:term]: (~ (var @ K) | (I @ K))))) => ((! [I:(subst > (term > (subst > $o))),J:term,K:term]: (~ (! [L:subst,M:term,N:subst,O:subst]: (~ (I @ (comp @ L @ O) @ (sub @ M @ O) @ N) | (I @ L @ M @ (comp @ O @ N)))) | ~ (! [L:term,M:term]: (~ (I @ id @ M @ id) | (I @ id @ (ap @ (sub @ L @ id) @ M) @ id) | ~ (I @ id @ L @ id))) | ~ (I @ id @ J @ id) | ~ (I @ id @ K @ id) | (I @ id @ (ap @ J @ K) @ id) | ~ (! [L:subst,M:term,N:subst,O:subst]: (~ (I @ L @ M @ (comp @ O @ N)) | (I @ (comp @ L @ O) @ (sub @ M @ O) @ N))))) => ((! [I:(subst > (term > (subst > $o))),J:term]: (~ (! [K:subst,L:term,M:subst,N:subst]: ((I @ (comp @ K @ N) @ (sub @ L @ N) @ M) | ~ (I @ K @ L @ (comp @ N @ M)))) | ~ (! [K:subst,L:term,M:subst,N:subst]: (~ (I @ (comp @ K @ N) @ (sub @ L @ N) @ M) | (I @ K @ L @ (comp @ N @ M)))) | ~ (! [K:term]: ((I @ id @ (sub @ J @ (push @ K @ id)) @ id) | ~ (I @ id @ K @ id))) | (I @ id @ (lam @ J) @ id) | ~ (! [K:(subst > (term > term))]: (~ (! [L:subst,M:term,N:subst]: ((sub @ (K @ L @ M) @ N) = (K @ (comp @ L @ N) @ (sub @ M @ N)))) | ~ (! [L:term]: ((I @ id @ (K @ id @ L) @ id) | ~ (I @ id @ L @ id))) | (I @ id @ (lam @ (K @ sh @ one)) @ id))))) => (! [I:(subst > (term > (subst > $o))),J:term]: (~ (! [K:subst,L:term,M:subst,N:subst]: ((I @ (comp @ K @ N) @ (sub @ L @ N) @ M) | ~ (I @ K @ L @ (comp @ N @ M)))) | ~ (! [K:subst,L:term,M:subst,N:subst]: (~ (I @ (comp @ K @ N) @ (sub @ L @ N) @ M) | (I @ K @ L @ (comp @ N @ M)))) | ~ (! [K:term,L:term]: (~ (I @ id @ K @ id) | (I @ id @ (ap @ (sub @ K @ id) @ L) @ id) | ~ (I @ id @ L @ id))) | (I @ id @ J @ id) | ~ (! [K:(subst > (term > term))]: (~ (! [L:term]: (~ (I @ id @ L @ id) | (I @ id @ (K @ id @ L) @ id))) | (I @ id @ (lam @ (K @ sh @ one)) @ id) | ~ (! [L:subst,M:term,N:subst]: ((sub @ (K @ L @ M) @ N) = (K @ (comp @ L @ N) @ (sub @ M @ N)))))) | ~ (! [K:term]: (~ (var @ (sub @ K @ id)) | (I @ id @ K @ id)))))))) = hoasinduction_lthm) & (hoasinduction_lem3v2_f_lthm = (! [I:term]: ~ (! [J:(subst > (term > term))]: ~ (! [K:term,L:subst]: ((sub @ I @ (push @ K @ L)) = (J @ L @ K)))))) & (hoasinduction_lem3v2_gthm) & ~ (ulamvar1) & (hoasapinj1 = (! [I:term,J:term,K:term,L:term]: (~ ((ap @ (sub @ I @ id) @ K) = (ap @ (sub @ J @ id) @ L)) | (I = J)))) & (hoasapnotvar_gthm) & (axvarshift) & ((! [I:term]: ~ (! [J:(subst > (term > term))]: ~ (! [K:term,L:subst]: ((sub @ I @ (push @ K @ L)) = (J @ L @ K))))) = hoasinduction_lem3v2_f) & (induction2lem = (! [I:(term > $o),J:term,K:subst]: (~ (! [L:term,M:term]: ((I @ (ap @ L @ M)) | ~ (I @ M) | ~ (I @ L))) | (I @ (sub @ J @ K)) | ~ (! [L:term]: (~ (var @ L) | (I @ (sub @ L @ K)))) | ~ (! [L:term]: (~ (! [M:term]: (~ (I @ M) | (I @ (sub @ L @ (push @ M @ id))))) | (I @ (lam @ L))))))) & (hoasinduction_lem1v2_gthm) & (pushprop_lem0_gthm) & ~ (var @ (d2term @ d_one)) & ((hoasinduction_p_and_p_prime) = (^ [I:(subst > (term > (subst > $o))),J:(term > $o)]: ! [K:term]: ((J @ K) = (I @ id @ K @ id)))) & ((hoaslam) = (^ [I:subst,J:(subst > (term > term))]: (d2term @ d_one))) & ((push @ (d2term @ d_one) @ (d2subst @ d_id)) = (d2subst @ d_id)) & (sh = (d2subst @ d_id)) & ((lam @ (d2term @ d_one)) = (d2term @ d_one)) & (one = (d2term @ d_one)) & (H = d_one)))),inference(cnf,[status(esa)],[6])). 49.29/16.31 thf(85,plain,(! [A:term] : ((A = (d2term @ (sk1 @ A))))),inference(cnfConj,[status(thm)],[7])). 49.29/16.31 thf(156,plain,(! [A:term] : (((d2term @ (sk1 @ A)) = A))),inference(lifteq,[status(thm)],[85])). 49.29/16.31 thf(13,plain,(! [A:d_term] : ((A = d_one))),inference(cnfConj,[status(thm)],[7])). 49.29/16.31 thf(169,plain,(! [A:d_term] : ((A = d_one))),inference(lifteq,[status(thm)],[13])). 49.29/16.31 thf(170,plain,(! [A:d_term] : ((A = d_one))),inference(simp,[status(thm)],[169])). 49.29/16.31 thf(48,plain,((one = (d2term @ d_one))),inference(cnfConj,[status(thm)],[7])). 49.29/16.31 thf(190,plain,(((d2term @ d_one) = one)),inference(lifteq,[status(thm)],[48])). 49.29/16.31 thf(399,plain,(! [A:d_term] : (((d2term @ A) = one) | (d_one != d_one))),inference(paramod_ordered,[status(thm)],[170,190])). 49.29/16.31 thf(400,plain,(! [A:d_term] : (((d2term @ A) = one))),inference(pattern_uni,[status(thm)],[399:[]])). 49.29/16.31 thf(913,plain,(! [A:term] : ((one = A))),inference(rewrite,[status(thm)],[156,400])). 49.29/16.31 thf(1,conjecture,((axclos = (! [A:term,B:subst,C:subst]: ((sub @ (sub @ A @ B) @ C) = (sub @ A @ (comp @ B @ C)))))),file('/export/starexec/sandbox/benchmark/theBenchmark.p',axclos)). 49.29/16.31 thf(2,negated_conjecture,((~ (axclos = (! [A:term,B:subst,C:subst]: ((sub @ (sub @ A @ B) @ C) = (sub @ A @ (comp @ B @ C))))))),inference(neg_conjecture,[status(cth)],[1])). 49.29/16.31 thf(4,plain,((~ (axclos = (! [A:term,B:subst,C:subst]: ((sub @ (sub @ A @ B) @ C) = (sub @ A @ (comp @ B @ C))))))),inference(defexp_and_simp_and_etaexpand,[status(thm)],[2])). 49.29/16.31 thf(5,plain,((axclos != (! [A:term,B:subst,C:subst]: ((sub @ (sub @ A @ B) @ C) = (sub @ A @ (comp @ B @ C)))))),inference(lifteq,[status(thm)],[4])). 49.29/16.31 thf(14,plain,(axclos),inference(cnfConj,[status(thm)],[7])). 49.29/16.31 thf(218,plain,((~ (! [A:term,B:subst,C:subst]: ((sub @ (sub @ A @ B) @ C) = (sub @ A @ (comp @ B @ C)))))),inference(rewrite,[status(thm)],[5,14])). 49.29/16.31 thf(219,plain,((~ ((sub @ (sub @ sk5 @ sk6) @ sk7) = (sub @ sk5 @ (comp @ sk6 @ sk7))))),inference(cnf,[status(esa)],[218])). 49.29/16.31 thf(220,plain,(((sub @ (sub @ sk5 @ sk6) @ sk7) != (sub @ sk5 @ (comp @ sk6 @ sk7)))),inference(lifteq,[status(thm)],[219])). 49.29/16.31 thf(955,plain,(! [A:term] : (((sub @ sk5 @ (comp @ sk6 @ sk7)) != one) | (A != (sub @ (sub @ sk5 @ sk6) @ sk7)))),inference(paramod_ordered,[status(thm)],[913,220])). 49.29/16.31 thf(956,plain,(((sub @ sk5 @ (comp @ sk6 @ sk7)) != one)),inference(pattern_uni,[status(thm)],[955:[bind(A, $thf(sub @ (sub @ sk5 @ sk6) @ sk7))]])). 49.29/16.31 thf(1039,plain,(($false)),inference(simplifyReflect,[status(thm)],[956,913])). 49.29/16.31 % SZS output end Refutation for /export/starexec/sandbox/benchmark/theBenchmark.p 49.29/16.31 % [INFO] Killing All external provers ... 0.82/16.44 EOF